Collections工具类的使用

public class Test8 {

 

static List<String> list = Arrays.asList("one two three four five six seven eight one".split(" ")) ;

public static void main(String [] args) {

System.out.println(list);

//disjoint(collection,collection) 两个集合没有任何相同的元素时返回true

//singleton(T x)/singletonList(T x)/singletonMap(K key,V value) 产生不可变的Set/List/Map 他们只包含单一一项

System.out.println(Collections.disjoint(list,Collections.singletonList("four")));

 

//如果要使用max或者min方法此对象必须要实现Comparable接口

//max(list) min(list) 使用自然比较法进行比较

//max(list,Comparator) min(list,Comparator) 使用自定义比较器比较Comparator

System.out.println(Collections.max(list));

System.out.println(Collections.min(list));

System.out.println(Collections.max(list,String.CASE_INSENSITIVE_ORDER));

System.out.println(Collections.min(list,String.CASE_INSENSITIVE_ORDER));

 

 

List<String> subList = Arrays.asList("four five six".split(" ")) ;

 

//indexOfSubList(list,subList) 返回sub集合在集合中第一次出现的位置(找不到返回-1)

System.out.println(Collections.indexOfSubList(list,subList));

 

//lastIndexOfSubList(list,subList) 返回sub集合在集合中最后一次出现的位置(找不到返回-1)

System.out.println(Collections.lastIndexOfSubList(list,subList));

 

//replaceAll(list,oldVal,newVal) 替换集合中值为oldVal的全部元素为newVal

Collections.replaceAll(list,"one","One") ;

System.out.println(list);

 

//reverse(list) 逆转元素顺序

Collections.reverse(list);

System.out.println(list);

 

//rotate(list,distance) 所有元素向后移动distance个位置 后面的元素循环到前面来 例如 distance= 2 1 2 3 4 5 6 -> 5 6 1 2 3 4

Collections.rotate(list,3);

System.out.println(list);

 

List<String> source = Arrays.asList("in the matrix".split(" ")) ;

//copy(list1,list2) 将list2中的元素复制到list1中 从0位置开始

Collections.copy(list,source);

System.out.println(list);

 

//swap(list,index1,index2) 将index1与index2索引的元素调换位置 (效率比较高)

Collections.swap(list,0,list.size() - 1);

System.out.println(list);

 

//shuffle(list) 随机改变list的顺序

//shuffle(list,Random) 自定义该表list的顺序

Collections.shuffle(list,new Random(47));

System.out.println(list);

 

//fill(list,obj) 使用obj填充满集合

Collections.fill(list,"pop");

System.out.println(list);

 

//frequency(list,obj) 返回list中obj的数量

int sum = Collections.frequency(list,"pop") ;

System.out.println(sum);

//nCopies(size,obj) 返回一个大小为n的List 此list不可改变 其中所有引用都指向obj

List<String> dups = Collections.nCopies(3,"snap") ;

System.out.println(dups);

 

}

 

}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值