java.utils.Collections是集合工具类,用来对集合进行操作

常用方法:

public static<T>boolean addAll(Collection<T>c,T...elements):往集合中添加一些元素

ArrayList<String>list=new ArrayList<>();
Collections.addAll(list,"a","b","c","d");
list:a,b,c,d,e

public static void shuffle(list<?>list)打乱顺序:打乱集合顺序

Collections.shuffle(list);
list:b,d,c,a,e

public static void sort(List<T>list):将集合中元素按照默认规则排序

Array<Integer>list01=new ArrayList<>();
list01.add(1);
list01.add(3);
list01.add(2);
Collections.sort(list01);
list01:1,2,3

自定义类型排序

被排序的集合里面储存的元素,必须实现Comparable ,重写接口中方法compareTo定义的排序规则

public class Stu implements Comparable {private String name;private int age;public Stu(String name, int age) {this.name = name;this.age = age;}public Stu() {}@Overridepublic String toString() {return "Stu{" +"name='" + name + '\'' +", age=" + age +'}';}public String getName() {return name;}public int getAge() {return age;}@Overridepublic int compareTo(Object o) {Stu s=(Stu)o;return this.getAge()-s.getAge();//升序排序}
}public class Demo {public static void main(String[] args) {ArrayList<Stu>list=new ArrayList<>();list.add(new Stu("A",12));list.add(new Stu("a",10));list.add(new Stu("C",14));Collections.sort(list);System.out.println(list);}
}

Comparable升序排序:

this-参数是升序,参数-this是降序

public static <T>void sort(list<T>,Comparator<?super  T>):将集合中元素按照指定规则排序

Comparator和Comparable的区别:

 Comparable:this和参数比较,this类需要实现Comparable接口,重写比较的规则compaTo方法

 Comparator:   相当于找一个第三方的裁判,比较两个

  ArrayList<Integer>list=new ArrayList<>();list.add(1);list.add(3);list.add(2);Collections.sort(list, new Comparator<Integer>() {
//重写比较规则@Overridepublic int compare(Integer o1, Integer o2) {return o1-o2;}});

自定义类型排序

(组合排序)

 ArrayList<Stu>list=new ArrayList<>();list.add(new Stu("f",1));list.add(new Stu("c",1));list.add(new Stu("d",2));Collections.sort(list, new Comparator<Stu>() {@Overridepublic int compare(Stu o1, Stu o2) {int res=o1.getAge()-o2.getAge();if(res==0){res=o1.getName().charAt(0)-o2.getName().charAt(0);}return res;}});

【java笔记】Collections集合工具类相关推荐

  1. 【零基础学Java】—Collections集合工具类(四十二)

  2. 小汤学编程之JAVA基础day11——集合框架:List/Set/Map集合、Collections集合工具类、泛型、TreeMap和TreeSet

    一.集合的特点 二.继承结构图 三.List集合 1.特点     2.ArrayList类     3.LinkedList类     4.两者的对比     5.集合的遍历 四.Set集合 1.特 ...

  3. java list排序工具类_java 之 Collections集合工具类排序

    数组有工具类Arrays,集合也有一个工具类Collections. sort方法: sort(List list):根据其元素natural ordering对制定的列表进行排序 sort(List ...

  4. Java集合篇:Map接口、Map接口的实现类、Collections集合工具类

    目录 一.Map接口 1.1 Map接口概述 1.2 Map接口常用功能 二.Map接口的实现类 2.1 Map实现类之一:HashMap 2.1.1 HashMap概述 2.1.2 HashMap的 ...

  5. 【小白学Java】D26 》》》Collections集合工具类

    [友情链接]---–->Java中的各种集合大汇总,学习整理 [友情链接]----–> collection集合 [友情链接]----–> ArrayList集合及其常用功能 [友情 ...

  6. java.util.list源码_关于fest-util源码包Collections集合工具类过滤、判空、格式化及复制克隆处理...

    一.前言 关于fest-util源码包org.fest.util.Collections集合处理类,实现对数组转换List序列集合.集合duplicatesFrom克隆复制.集合判空isEmpty.并 ...

  7. Collections集合工具类的方法_sort(List,Comparator)

    简述Comparable和Comparator两个接口的区别. Comparable:强行对实现它的每个类的对象进行整体排序.这种排序被称为类的自然排序,类的compareTo方法被称为它的自然比较方 ...

  8. Collections集合工具类的方法_sort(List)

    Comparator比较器 我们还是先研究这个方法 public static <T> void sort(List<T> list):将集合中元素按照默认规则排序. 不过这次 ...

  9. Collections集合工具类的方法_addAllshuffle

    Collections 常用功能 java.utils.Collections是集合工具类,用来对集合进行操作.部分方法如下: public static <T> boolean addA ...

最新文章

  1. linux 文本 查看 搜索
  2. BZOJ 1856: [Scoi2010]字符串 [Catalan数]
  3. spring-cloud导入eclipse时,@slf4j注解为什么找不到log变量
  4. eclipse和idea代码通用吗_python能在苹果手机上运行吗
  5. git与svn的区别 ?Git 与 SVN那个更好?
  6. 工作111:对element-form的理解
  7. 多层神经网络中的正则化代价函数解析
  8. Druid 1.1.14 发布,阿里开源连接池
  9. 如何在一个元素上有多个CSS过渡?
  10. adoption/adaption
  11. cf 165 div2 解题报告
  12. coco 数据集下载
  13. ubuntu无法进入图形界面,开机重复进入gun grup
  14. Miller_Rabin 米勒拉宾概率筛【模板】
  15. 分销零售企业售后服务管理软件的业务分析
  16. Harmonious
  17. 树莓派搭建远程视频监控教程
  18. 南卡蓝牙耳机和JBL蓝牙耳机哪个更值得买?音质最好的蓝牙耳机测评
  19. 华为接班人准备好了吗? (转载)
  20. Python学习 Day30 正则表达式(二)

热门文章

  1. C#时间的味道——任时光匆匆我只在乎你
  2. 《程序设计技术》第一章例程
  3. JSK-386 分段函数【入门】
  4. matlab 警告(warning)、错误(error)、异常(exception)与断言(assert)
  5. 概率、随机数、随机数生成函数(面试题)
  6. 化学人学python有前途吗-课堂上老师不讲的有趣物理知识,才是孩子最感兴趣的!...
  7. python和java哪个好-Python和Java对比,全面解读哪个语言最赚钱,前景最好?
  8. python语言的主网址-Python爬取网址中多个页面的信息
  9. python软件下载-python下载_python免费下载[编程工具]-下载之家
  10. python中文视频教程-中谷python中文视频教程(全38集)