Java_Collections工具类
1)Collections是一个操作Set,List和Map等集合的工具类
2)Collections中提供了一系列静态的方法对集合元素进行排序,查询和修改等操作
排序操作(均为static方法):
1)reverse(List):反转List元素中的顺序
2)shuffle(List):对List集合元素进行随机排序
3)sort(List):根据元素的自然顺序对指定List几何元素按升序排序
4)sort(List,Comparator):根据指定的Comparator产生的顺序对List集合元素进行排序
5)swap(List,int,int):将指定list集合中的i 处元素和j 处元素进行交换
package com.collections_;import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;public class Collections_ {public static void main(String[] args) {List list = new ArrayList();list.add("tom");list.add("smith");list.add("king");list.add("milan");System.out.println(list);//[tom, smith, king, milan]//reverse(List):反转List元素中的顺序Collections.reverse(list);System.out.println(list);//[tom, smith, king, milan]//shuffle(List):对List集合元素进行随机排序Collections.shuffle(list);System.out.println(list);//每次打乱后结果都不一样//sort(List):根据元素的自然顺序对指定List几何元素按升序排序Collections.sort(list);System.out.println("自然排序后list=" + list);//sort(List,Comparator):根据指定的Comparator产生的顺序对List集合元素进行排序//例如:我们希望按照字符串长度大小排序Collections.sort(list, new Comparator() {@Overridepublic int compare(Object o1, Object o2) {return ((String)o1).length() - ((String)o2).length();}});System.out.println("长度大小排序 = " + list);//swap(List,int,int):将指定list集合中的i 处元素和j 处元素进行交换Collections.swap(list,0,1);System.out.println("交换后的集合 = " +list );}
}
查找,替换:
1)Object max(Collection):根据元素的自然顺序,返回给定集合中的最大元素
2)Object max(Collection,Comparator):根据 Comparator 指定的顺序,返回给定集合中的最大元素
3)Object min(Collection):根据自然排序最小返回元素
4)Object min(Collection,Comparator):根据指定排序最小返回元素
5)int frequency(Collection,Object):返回指定集合中指定元素的出现次数
6)void copy(List dest,List src):将src中的内容复制到dest 中
7)boolean replaceAll(List list,Object oldVal,Object newVal):使用新值替换List对象的所有旧值
package com.collections_;import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;public class Collections01 {public static void main(String[] args) {List list = new ArrayList();list.add("tom");list.add("smith");list.add("king");list.add("milan");System.out.println(list);//[tom, smith, king, milan]//Object max(Collection):根据元素的自然顺序(A-Z),返回给定集合中的最大元素System.out.println("自然排序最大元素" + Collections.max(list));//Object max(Collection,Comparator):根据 Comparator 指定的顺序,返回给定集合中的最大元素//需求:要返回长度最大的元素Object maxObject = Collections.max(list, new Comparator() {@Overridepublic int compare(Object o1, Object o2) {return ((String)o1).length() - ((String)o2).length();}});//Object min(Collection):根据自然排序得到最小值//Object min(Collection,Comparator):根据自然排序得到最大值//这两个方法和max一样//int frequency(Collection,Object):返回指定集合中指定元素的出现次数System.out.println("tom出现的次数=" + Collections.frequency(list,"tom"));//void copy(List dest,List src):将src中的内容复制到dest 中ArrayList dest = new ArrayList(); //创建用于接收拷贝的集合//必须先给dest 赋值,大小和list.size()一样//使用for 循环为dest 开辟和 list.size()相同的空间for (int i = 0; i < list.size(); i++) {dest.add(""); //由于dest 并未初始化,所以直接copy会报异常,必须先开空间}//拷贝Collections.copy(dest,list);System.out.println(dest);//boolean replaceAll(List list,Object oldVal,Object newVal):使用新值替换List对象的所有旧值//需求:如果list 中有tom,就替换成 汤姆Collections.replaceAll(list,"tom","汤姆");System.out.println(list);//[汤姆, smith, king, milan]}
}