java中ArrayList的两种排序⽅法实例
⽬录
前⾔
1.ArrayList使⽤排序的初衷
2.对⼀个ArrayList中的数组进⾏排序。
3.多个ArrayList中的元素进⾏排序
总结
前⾔
由于其功能性和灵活性,ArrayList是 Java 集合框架中使⽤最为普遍的集合类之⼀。ArrayList 是⼀种 List 实现,它的内部⽤⼀个动态数组来存储元素,因此 ArrayList 能够在添加和移除元素的时候进⾏动态的扩展和缩减。你可能已经使⽤过 ArrayList,因此我将略过基础部分。如果你对 ArrayList 还不熟悉,你可以参考它的,可以很容易理解在 ArrayList 上执⾏基本的操作。
1.ArrayList使⽤排序的初衷
我们知道ArrayList的好处是可以不⽤限定容器的⼤⼩,他会根据元素的增加⾃⼰扩⼤。但是存储进去的数据类型都会变成object,虽然每个元素有⾃⼰的index,但不像数组的下标可以更加⽅便的操作。那我们平时学习的选择排序啊快速排序啊都是对数组进⾏操作。最开始的笨办法就是把list中的数据传给数组排序好了再传回来喽。但是这样效率真的下降的不是⼏倍,是⼏⼗倍啊真的不能这样来。查了点资料和案例在这⾥总结⼀下。
2.对⼀个ArrayList中的数组进⾏排序。
⾸先来看下Collection的帮助⽂档:
在这⾥顺便补充下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 stub
Scanner scan=new Scanner(System.in);
int n;
ArrayList al=new ArrayList();
System.out.println("请输⼊需要的个数");
Int();
System.out.println("请逐⼀输⼊");java集合排序怎么实现
for(int i=0;i<n;i++) {
al.add(Int());
}
System.out.println("你输⼊的数字是:");
for(int i=0;i<al.size();i++) {
int temp=((i);
System.out.print(temp+" ");
}
Collections.sort(al);//针对⼀个ArrayList内部的数据排序
System.out.println();
System.out.println("经过排序后:");
for(int i=0;i<al.size();i++) {
int temp=((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;
Name()Name());
}
}
class SortByAge implements Comparator {
public int compare(Object o1, Object o2) {
Student s1 = (Student) o1;
Student s2 = (Student) o2;
Age()Age());
// if (s1.getAge() > s2.getAge())
// return 1;
// return -1;
}
}
总结
到此这篇关于java中ArrayList两种排序的⽂章就介绍到这了,更多相关java ArrayList排序⽅法内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章希望⼤家以后多多⽀持!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论