运维开发网

java中数组列表的两种排序方法举例

运维开发网 https://www.qedev.com 2022-04-28 17:04 出处:网络
ArrayList是一个数组队列,相当于 动态数组,与Java中的数组相比,它的容量能动态增长,这篇文章主要给大家介绍了关于java中ArrayList的两种排序方法,需要的朋友可以参考下

ArrayList是一个数组队列,相当于 动态数组,与Java中的数组相比,它的容量能动态增长,这篇文章主要给大家介绍了关于java中ArrayList的两种排序方法,需要的朋友可以参考下


前言

由于其功能性和灵活性,ArrayList是Java集合框架中使用最广泛的集合类之一。ArrayList是一个列表实现,其中使用了一个动态数组来存储元素,因此ArrayList可以在添加和删除元素时动态扩展和收缩。你可能已经用过ArrayList了,我就跳过基础部分。如果不熟悉ArrayList,可以参考它的API文档,很容易理解如何对ArrayList进行基本操作。


1.ArrayList使用排序的初衷

我们知道ArrayList的好处是不需要限制容器的大小,它会根据元素的增加而自行扩展。但是,存储的数据类型将变成object。虽然每个元素都有自己的索引,但与数组的下标不同,它的操作更方便。然后我们平时学习如何选择排序,如何快速排序,如何对数组进行操作。最愚蠢的开始方式是将列表中的数据发送到数组,对其进行排序,然后将其发送回来。但是,效率真的不是降低几倍,而是几十倍。你真的不能这么做。我查了一些资料和案例,总结在这里。


2.对一个ArrayList中的数组进行排序。

我们先来看看集合的帮助文档:


这里顺便补充一下ArrayList和Collection的关系:


具体使用代码如下:

import java.util.ArrayList;import java.util.Collections;import java.util.Scanner;public class compre { public static void main(String[] args) {// TODO Auto-generated method stubScanner scan=new Scanner(System.in);int n;ArrayList al=new ArrayList();System.out.println("请输入需要的个数");n=scan.nextInt();System.out.println("请逐一输入");for(int i=0;ilt;n;i++) {al.add(i,scan.nextInt());}System.out.println("你输入的数字是:");for(int i=0;ilt;al.size();i++) {int temp=(int)al.get(i);System.out.print(temp+" ");}Collections.sort(al);//针对一个ArrayList内部的数据排序System.out.println();System.out.println("经过排序后:");for(int i=0;ilt;al.size();i++) {int temp=(int)al.get(i);System.out.print(temp+" ");}}}

运行结果:



3.多个ArrayList中的元素进行排序 class SortByName implements Comparator { public int compare(Object o1, Object o2) { Student s1 = (Student) o1; Student s2 = (Student) o2; return s1.getName().compareTo(s2.getName()); }} class SortByAge implements Comparator { public int compare(Object o1, Object o2) { Student s1 = (Student) o1; Student s2 = (Student) o2; return s1.getAge().compareTo(s2.getAge());// if (s1.getAge() gt; s2.getAge())// return 1;// return -1; } }


总结

这就是这篇关于java中两种数组列表的文章。关于java ArrayList排序方法的更多信息,请搜索源搜网之前的文章或者继续浏览下面的相关文章。希望大家以后能多支持源搜网!


0

精彩评论

暂无评论...
验证码 换一张
取 消