跟王老师学集合:操作集合的工具类:Collections
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了跟王老师学集合:操作集合的工具类:Collections相关的知识,希望对你有一定的参考价值。
操作集合的工具类:Collections
主讲人:王少华 QQ群号:483773664
Java提供了一个操作Set、List和Map等集合的工具类:Collections,该工具提供了大量方法对集合元素进行排序、查询和修改等操作,还提供了将集合元素实现同步控制等方法。
一、排序操作
(一)、方法
Collections提供了如下几个方法用于对List集合元素进行排序
static void reverse(List list):反转指定List集合中元素的顺序
static void shuffle(List list):对List集合元素进行随机排序
static void sort(List list):根据元素的自然顺序对指定的List集合的元素按升序进行排序
static void sort(List list,Comperator c):根据指定的Comparator产生的顺序对List集合的元素进行排序
static void swap(List list int i,int j):将指定的List集合中i处元素和j处元素进行交换
static void rotate(List list,int distance):将指定集合中i处元素和list.length-1-i处的元素进行交换。
(二)实例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | public class SortTest { public static void main(String[] args) { ArrayList nums = new ArrayList(); nums.add( 2 ); nums.add(- 5 ); nums.add( 3 ); nums.add( 0 ); //输出:[2, -5, 3, 0] System.out.println(nums); //将List集合元素的次序反转 Collections.reverse(nums); //输出:[0, 3, -5, 2] System.out.println(nums); //将List集合元素的按自然顺序排序 Collections.sort(nums); //输出:[-5, 0, 2, 3] System.out.println(nums); //将List集合元素的按随机顺序排序 Collections.shuffle(nums); //每次输出的次序不固定 System.out.println(nums); } } |
二、查找和搜索操作
(一)、方法
1、static int binarySearch(List list,Object key):使用二分搜索法,以获得指定对象在List中的索引,前提是集合元素已是有序状态。
2、static Object max(Collection coll):根据元素的自然排序,返回给定集合中的最大元素。
3、static Object max(Collection coll,Comparator comp):根据指定Comparator产生的顺序,返回给定集合中的最大元素。
4、static Object min(Collection coll):根据元素的自然排序,返回给定集合中的最小元素。
5、static Object min(Collection coll,Comparator comp):根据指定Comparator产生的顺序,返回给定集合中的最小元素。
6、static void fill(List list,Object obj):使用指定元素obj替换List里的所有元素。
7、static int frequency(Collection Object o):返回指定集合中等于指定对象的元素数量。
8、static int indexOfSubList(List source,List target):返回子list对象在母list中第一次出现的索引,如果没有则返回-1。
9、static int lastIndexOfSubList(List source,List target):返回子list对象在母list中最后一次出现的索引,如果没有则返回-1。
10、static boolean replaceAll(List list,Object old,Object new):使用一个新值替换List中所有的旧值。
(二)实例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | public class SearchTest { public static void main(String[] args) { ArrayList nums = new ArrayList(); nums.add( 2 ); nums.add(- 5 ); nums.add( 3 ); nums.add( 0 ); //输出:[2, -5, 3, 0] System.out.println(nums); //输出最大元素,将输出3 System.out.println(Collections.max(nums)); //输出最小元素,将输出-5 System.out.println(Collections.min(nums)); //将nums中的0使用1来代替 Collections.replaceAll(nums , 0 , 1 ); //输出:[2, -5, 3, 1] System.out.println(nums); //判断-5 在List集合中出现的次数,返回1 System.out.p |