Collections集合类介绍
Collections 是一个操作Set、List和Map等集合的工具类,提供了一系列静态方法对集合元素进行排序、查询和修改等操作。
1、排序操作
(1)reverse(List):反转List中元素的顺序;
System.out.println(list);
/*(1)reverse(List):反转List中元素的顺序;*/
System.out.println("=====反转顺序后=====");
System.out.println(list);
代码运行结果:
(2)shuffle(List):对List集合元素进行随机排序;
/*(2)shuffle(List):对List集合元素进行随机排序*/
for (int i = 0; i < 5; i++) {
Collections.shuffle(list);
System.out.println("第"+(i+1)+"次随机排序:"+list);
}
代码运行结果:
(3)sort(List):根据元素的自然顺序对指定List集合元素按升序排序;
/*(3)sort(List):根据元素的自然顺序对指定List集合元素按升序排序*/
Collections.sort(list);
System.out.println("=====自然顺序后=====");
System.out.println(list);
代码运行结果:
(4)sort(List,Comparator):根据指定的Comparator产生的顺序对List集合元素进行排序;
①按指定的字符串大小排序
/*(4)sort(List,Comparator):根据指定的Comparator产生的顺序对List集合元素进行排序*/
Collections.sort(list,new Comparator(){
@Override
public int compare(Object o1,Object o2)
{
return ((String) o1).length()-((String) o2).length();
}
});
System.out.println("=====按指定字符串长度大小排序后=====");
System.out.println(list);
代码运行结果:
②按指定的字符串字母大小顺序排序
/*(4)sort(List,Comparator):根据指定的Comparator产生的顺序对List集合元素进行排序*/
Collections.sort(list,new Comparator(){
@Override
public int compare(Object o1,Object o2)
{
return ((String) o1).compareTo((String) o2);
}
});
System.out.println("=====按指定字符串字母大小顺序排序后=====");
System.out.println(list);
代码运行结果:
(5)swap(List,int i,int j):将指定List集合中的i处元素和j处元素进行交换;
/*(5)swap(List,int i,int j):将指定List集合中的i处元素和j处元素进行交换*/
Collections.swap(list,0,1);
System.out.println("=====交换顺序后=====");
System.out.println(list);
代码运行结果:
2、查找、替换操作
(1)Object max(List):根据元素的自然顺序,返回给定集合中的最大元素;
/*(1)Object max(List):根据元素的自然顺序,返回给定集合中的最大元素*/
Object max = Collections.max(list);
System.out.println("根据元素的自然顺序,返回给定集合中的最大元素:"+max);
代码运行结果:
(2)Object max(Collection,Comparator):根据Comparator指定的顺序,返回给定集合中的最大元素;
① 根据给的的字符串长度大小顺序,返回给定集合中的最大元素
Object max = Collections.max(list, new Comparator() {
@Override
public int compare(Object o1,Object o2){
return ((String) o1).length()-((String) o2).length();
}
});
System.out.println("根据给定的字符串长度大小顺序,返回给定集合中的最大元素:"+max);
② 根据给的的字符串字母大小顺序,返回给定集合中的最大元素
Object max = Collections.max(list,new Comparator(){
public int compare(Object o1,Object o2){
return ((String) o1).compareTo((String) o2);
}
});
System.out.println("根据给定的字符串字母大小顺序,返回给定集合中的最大元素:"+max);
代码运行结果:
(3)int frequency(List,Object):返回指定集合中指定元素的出现次数;
/*(3)int frequency(List,Object):返回指定集合中指定元素的出现次数*/
int num =Collections.frequency(list,"tom");
System.out.println("指定集合中”tom“的出现次数:"+num);
代码运行结果:
(4)void copy(List dest,List src):将src的内容复制到dest中;
/*(4)void copy(List dest,List src):将src的内容复制到dest中*/
List src = new ArrayList();
src.add("三国演义");
src.add("水浒传");
src.add("西游记");
src.add("红楼梦");
List dec = new ArrayList();
System.out.println("====src====");
System.out.println(src);
/*为了完成一个完整拷贝,我们需要先给dest 赋值,大小和src.size()一样*/
for (int i = 0; i < src.size(); i++) {
dec.add(i+1);
}
System.out.println("====dec====");
System.out.println(dec);
Collections.copy(dec,src);
System.out.println("=====将src的内容复制到dec后=====");
System.out.println(dec);
代码运行结果:
(5)Boolean replaceAll(List list,Object oldVal,Object newVal):使用新值替换List对象的所有旧值。
/*(5)Boolean replaceAll(List list,Object oldVal,Object newVal):使用新值替换List对象的所有旧值*/
Collections.replaceAll(list,"tom","DMS" );
System.out.println("=====将list中的所有“Tom”替换成“DMS”后=====");
System.out.println(list);
代码运行结果:
3、完整代码
import java.util.*;
public class Collectons_ {
public static void main(String[] args){
/*创建ArrayList 集合,用于测试*/
List list = new ArrayList();
list.add("tom");
list.add("smith");
list.add("king");
list.add("milan");
list.add("tom");
System.out.println(list);
/* *//*(1)reverse(List):反转List中元素的顺序;*//*
System.out.println("=====反转顺序后=====");
System.out.println(list);*/
/*(2)shuffle(List):对List集合元素进行随机排序*/
/* for (int i = 0; i < 5; i++) {
Collections.shuffle(list);
System.out.println("第"+(i+1)+"次随机排序:"+list);
}*/
/*(3)sort(List):根据元素的自然顺序对指定List集合元素按升序排序*/
/*Collections.sort(list);
System.out.println("=====自然顺序后=====");
System.out.println(list);*/
/* *//*(4)sort(List,Comparator):根据指定的Comparator产生的顺序对List集合元素进行排序*//*
Collections.sort(list,new Comparator(){
@Override
public int compare(Object o1,Object o2)
{
return ((String) o1).length()-((String) o2).length();
}
});
System.out.println("=====按指定字符串长度大小排序后=====");
System.out.println(list);*/
/*(4)sort(List,Comparator):根据指定的Comparator产生的顺序对List集合元素进行排序*//*
Collections.sort(list,new Comparator(){
@Override
public int compare(Object o1,Object o2)
{
return ((String) o1).compareTo((String) o2);
}
});
System.out.println("=====按指定字符串字母大小顺序排序后=====");
System.out.println(list);*/
/* *//*(5)swap(List,int i,int j):将指定List集合中的i处元素和j处元素进行交换*//*
Collections.swap(list,0,1);
System.out.println("=====交换顺序后=====");
System.out.println(list);*/
/*(1)Object max(List):根据元素的自然顺序,返回给定集合中的最大元素*//*
Object max = Collections.max(list);
System.out.println("根据元素的自然顺序,返回给定集合中的最大元素:"+max);*/
/*(2)Object max(Collection,Comparator):根据Comparator指定的顺序,返回给定集合中的最大元素*/
/* Object max = Collections.max(list, new Comparator() {
@Override
public int compare(Object o1,Object o2){
return ((String) o1).length()-((String) o2).length();
}
});
System.out.println("根据给定的字符串长度大小顺序,返回给定集合中的最大元素:"+max);*/
/*(2)Object max(Collection,Comparator):根据Comparator指定的顺序,返回给定集合中的最大元素*/
/* Object max = Collections.max(list,new Comparator(){
public int compare(Object o1,Object o2){
return ((String) o1).compareTo((String) o2);
}
});
System.out.println("根据给定的字符串字母大小顺序,返回给定集合中的最大元素:"+max);*/
/* *//*(3)int frequency(List,Object):返回指定集合中指定元素的出现次数*//*
int num =Collections.frequency(list,"tom");
System.out.println("指定集合中”tom“的出现次数:"+num);*/
/* *//*(4)void copy(List dest,List src):将src的内容复制到dest中*//*
List src = new ArrayList();
src.add("三国演义");
src.add("水浒传");
src.add("西游记");
src.add("红楼梦");
List dec = new ArrayList();
System.out.println("====src====");
System.out.println(src);
*//*为了完成一个完整拷贝,我们需要先给dest 赋值,大小和src.size()一样*//*
for (int i = 0; i < src.size(); i++) {
dec.add(i+1);
}
System.out.println("====dec====");
System.out.println(dec);
Collections.copy(dec,src);
System.out.println("=====将src的内容复制到dec后=====");
System.out.println(dec);*/
/*(5)Boolean replaceAll(List list,Object oldVal,Object newVal):使用新值替换List对象的所有旧值*/
Collections.replaceAll(list,"tom","DMS" );
System.out.println("=====将list中的所有“Tom”替换成“DMS”后=====");
System.out.println(list);
}
}