必威体育Betway必威体育官网
当前位置:首页 > IT技术

java ArrayList的两种排序方法

时间:2019-06-14 06:41:02来源:IT技术作者:seo实验室小编阅读:94次「手机版」
 

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("请输入需要的个数");
		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;
         }
        }

相关阅读

对ArrayList集合里面数据排序

先说下原因,最近项目中出现了获取网络数据混乱的情况,经过仔细查看才知道是加入集合的顺序出了问题,由于我是循环获取id,然后再循环请

[Java8源码分析]---ArrayList

ArrayList源码分析 ArrayList简介 我们知道,ArrayList是基于数组实现的List类,完全支持List接口的全部功能,底层实质上就是一个O

Linux中查看磁盘大小、文件大小、排序方法小结

一,查看磁盘空间大小的命令:dfdf命令用于查看磁盘分区上的磁盘空间,包括使用了多少,还剩多少,默认单位是KB比如以下命令:df -hl执行结果

[Java] ArrayList 类

文章目录`java.util.ArrayList`数组和`ArrayList`的比较例1例2书后的练习java.util.ArrayList<E> 从书中各种代码来看,java.util.A

分享到:

栏目导航

推荐阅读

热门阅读