java ArrayList的两种排序方法
2018-03-15 10:06
417 查看
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("请输入需要的个数");
n=scan.nextInt();
System.out.println("请逐一输入");
for(int i=0;i<n;i++) {
al.add(i,scan.nextInt());
}
System.out.println("你输入的数字是:");
for(int i=0;i<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;i<al.size();i++) {
int temp=(int)al.get(i);
System.out.print(temp+" ");
}
}
}运行结果:
2.多个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() > s2.getAge()) // return 1; // return -1; } }
相关文章推荐
- 用Java集合中的Collections.sort()方法对list排序的两种方法
- 用Java集合中的Collections.sort方法对list排序的两种方法
- java自定义容器排序的两种方法
- java中的equals和hashCode方法以及两种方法集合的排序
- 黑马程序员——Java基础 数组排序的两种实现方法,选择和冒泡
- java 对map或hashmap排序的两种方法
- (好使)用Java集合中的Collections.sort方法对list排序的两种方法
- 用Java集合中的Collections.sort方法如何对list排序(两种方法)
- Java ArrayList的不同排序方法
- Java中集合排序的两种方法
- 海量数据去重排序--bitmap(位图法)在java中的实现的两种方法
- Java Array.sort()两种重载的排序方法
- Java容器Treeset的两种排序方法
- 用Java集合中的Collections.sort方法对list排序的两种方法
- 用Java集合中的Collections.sort方法对list排序的两种方法
- Java ArrayList 的不同排序方法
- 用Java集合中的Collections.sort方法对list排序的两种方法
- Java编程之TreeSet排序两种解决方法(1)元素自身具备比较功能,元素需要实现Comparable接口覆盖compare(2)创建根据自定义Person类的name进行排序的Comparator
- 黑马程序员_Java中两种数组元素排序方法
- Java 数序和集合框架的转化 & Collection.sort()方法排序的两种方式