目录
Collections工具类的常用方法1:排序操作(均为static方法)
Collections工具类
Collections工具类的常用方法1:排序操作(均为static方法)
-
reverse(List):反转 List 集合中元素的顺序
-
public static void reverse(List<?> list)
-
public class Demo08 {
public static void main(String[] args) {
//ArrayList集合是有序的
List list = new ArrayList();
list.add("tom");
list.add("smith");
list.add("king");
list.add("milan");
Collections.reverse(list);
System.out.println(list);
}
}
-
shuffle(List):对 List 集合中的元素进行随机排序
public class Demo08 {
public static void main(String[] args) {
List list = new ArrayList();
list.add("tom");
list.add("smith");
list.add("king");
list.add("milan");
Collections.shuffle(list);
System.out.println(list);
}
}
-
sort(List):根据元素的自然顺序对指定 List 集合元素按升序排序
public class Demo08 {
public static void main(String[] args) {
List list = new ArrayList();
list.add("dom");
list.add("bmith");
list.add("aing");
list.add("cilan");
System.out.println(list);
Collections.sort(list);
System.out.println(list);
}
}
-
sort(List,Comparator):根据指定的 Comparator 产生的顺序对List集合元素进行排序
-
按照字符串的长度大小排序
-
public class Demo08 {
public static void main(String[] args) {
List list = new ArrayList();
list.add("comddaa");
list.add("bmi");
list.add("ding");
list.add("ailan");
System.out.println(list);
Collections.sort(list, new Comparator<Object>() {
@Override
public int compare(Object o1, Object o2) {
return ((String)o1).length() - ((String)o2).length();
}
});
System.out.println(list);
}
}
-
sawp(List,int,int):将指定 List 集合中的 i 处元素 和 j 处元素进行交换
public class Demo08 {
public static void main(String[] args) {
List list = new ArrayList();
list.add("comddaa");
list.add("bmi");
list.add("ding");
list.add("ailan");
System.out.println(list);
Collections.swap(list,0,1);
System.out.println("交换后情况");
System.out.println(list);
}
}
Collections工具类的常用方法2:查找和替换
-
max(Collection):根据元素的自然顺序,返回给定集合中的最大元素
public class Demo08 {
public static void main(String[] args) {
List list = new ArrayList();
list.add("comddaa");
list.add("bmi");
list.add("dbng");
list.add("dang");
list.add("dcng");
list.add("ailan");
System.out.println(list);
System.out.println("自然顺序中最大元素="+Collections.max(list));
}
}
-
max(Collection,Comparator):根据 Comparator 指定的顺序,返回给定集合中的最大元素
public class Demo08 {
public static void main(String[] args) {
List list = new ArrayList();
list.add("comddaa");
list.add("bmi");
list.add("dbng");
list.add("dang");
list.add("dcng");
list.add("ailan");
System.out.println(list);
Object maxObject = Collections.max(list, new Comparator() {
@Override
public int compare(Object o1, Object o2) {
return ((String) o1).length() - ((String) o2).length();
}
});
System.out.println("长度最大的元素:"+maxObject);
}
}
-
min(Collection):根据元素的自然顺序,返回给定集合中的最小元素
public class Demo08 {
public static void main(String[] args) {
List list = new ArrayList();
list.add("comddaa");
list.add("bmi");
list.add("dbng");
list.add("dang");
list.add("dcng");
list.add("ailan");
System.out.println(list);
System.out.println("自然顺序中最小元素="+Collections.min(list));
}
}
-
min(Collection,Comparator):根据 Comparator 指定的顺序,返回给定集合中的最小元素
public class Demo08 {
public static void main(String[] args) {
List list = new ArrayList();
list.add("comddaa");
list.add("bmi");
list.add("dbng");
list.add("dang");
list.add("dcng");
list.add("ailan");
System.out.println(list);
Object maxObject = Collections.min(list, new Comparator() {
@Override
public int compare(Object o1, Object o2) {
return ((String) o1).length() - ((String) o2).length();
}
});
System.out.println("长度最小的元素:"+maxObject);
}
}
-
frequency(Collection,Object):返回指定集合中指定元素的出现次数
public class Demo08 {
public static void main(String[] args) {
List list = new ArrayList();
list.add("comddaa");
list.add("bmi");
list.add("bmi");
list.add("dbng");
list.add("dang");
list.add("dcng");
list.add("ailan");
System.out.println("bmi出现的次数="+Collections.frequency(list,"bmi"));
System.out.println("dbng出现的次数="+Collections.frequency(list,"dbng"));
}
}
-
copy(List dest,List src):将src中的内容复制到dest中
public class Demo08 {
public static void main(String[] args) {
List list = new ArrayList();
list.add("comddaa");
list.add("bmi");
list.add("bmi");
list.add("dbng");
list.add("dang");
list.add("dcng");
list.add("ailan");
ArrayList dest = new ArrayList();
//为了完成一个完整的拷贝,我们需要先给dest赋值,大小和list.size()一样
//否则会发生 IndexOutOfBoundsException 索引越界异常
for (int i = 0; i <list.size() ; i++) {
dest.add("");
}
Collections.copy(dest,list);
System.out.println("dest="+dest);
}
}
-
replaceAll(List list,Object oldVal,Object newVal):使用新值替换 List 对象的所有旧值
public class Demo08 {
public static void main(String[] args) {
List list = new ArrayList();
list.add("comddaa");
list.add("bmi");
list.add("tom");
list.add("ailan");
ArrayList dest = new ArrayList();
Collections.replaceAll(list, "tom", "汤姆");
System.out.println("list替换后="+list);
}
}