Java集合——Collections工具类

Java集合——Collections工具类

摘要:本文主要学习了Collections工具类的常用方法。

概述

Collections工具类主要用来操作集合类,比如List和Set。

常用操作

排序(sort方法)

使用Collections工具类里的sort()方法进行排序,必须满足下列任意一个条件:

第一种是List中的存储的元素实现Comparable接口,重写compareTo()方法。

第二种是在使用sort方法时,传入一个Comparator的实现类,重写compareTo()方法。

测试代码如下:

 List<Integer> list = new ArrayList<Integer>();
list.add(3);
list.add(5);
list.add(1);
System.out.println(list);
Collections.sort(list);
System.out.println(list);

运行结果如下:

 [3, 5, 1]
[1, 3, 5]

反转(reverse方法)

将集合里元素的顺序进行反转。

测试代码如下:

 List<Integer> list = new ArrayList<Integer>();
list.add(3);
list.add(5);
list.add(1);
System.out.println(list);
Collections.reverse(list);
System.out.println(list);

运行结果如下:

 [3, 5, 1]
[1, 5, 3]

混排(shuffle方法)

对集合里的元素进行随机排序。

测试代码如下:

 List<Integer> list = new ArrayList<Integer>();
list.add(3);
list.add(5);
list.add(1);
System.out.println(list);
Collections.shuffle(list);
System.out.println(list);

运行结果如下:

 [3, 5, 1]
[3, 1, 5]

最大(max方法)

查找集合中最大的一个元素。

测试代码如下:

 List<Integer> list = new ArrayList<Integer>();
list.add(3);
list.add(5);
list.add(1);
System.out.println(list);
Integer max = Collections.max(list);
System.out.println(max);

最小(min方法)

查找集合中最小的一个元素。

测试代码如下:

 List<Integer> list = new ArrayList<Integer>();
list.add(3);
list.add(5);
list.add(1);
System.out.println(list);
Integer min = Collections.min(list);
System.out.println(min);

查找(binarySearch方法)

查找方法只能调用顺序的集合,返回元素的索引。

测试代码如下:

 List<Integer> list = new ArrayList<Integer>();
list.add(3);
list.add(5);
list.add(1);
System.out.println(list);
Integer index = Collections.binarySearch(list, 5);
System.out.println(index);

替换(replaceAll方法)

替换指定元素为某元素,若要替换的值存在刚返回true,反之返回false。

 List<Integer> list = new ArrayList<Integer>();
list.add(3);
list.add(5);
list.add(1);
System.out.println(list);
Collections.replaceAll(list, 5, 7);
System.out.println(list);

操作容器

创建线程安全的List

 List<Integer> list = Collections.synchronizedList(new ArrayList<Integer>());

创建线程安全的Set

 Set<Integer> set = Collections.synchronizedSet(new HashSet<Integer>());

创建线程安全的Map

 Map<String, Integer> map = Collections.synchronizedMap(new HashMap<String, Integer>());
上一篇:Android开发模式之MVC,MVP和MVVM的简单介绍与区别


下一篇:Python制作回合制手游外挂简单教程(中)