Collections Api 详解

package collectionApi;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.Comparator;
import java.util.Enumeration;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

public class CollectionsApi {

	public static void main(String[] args) {
		List<String> list = new ArrayList<>();
		list.add("R");
		list.add("A");
		list.add("C");
		list.add("Z");
		Collections.sort(list); // 正序排列
		//System.out.println(list); // [A, C, R, Z]
		Collections.sort(list, new Comparator<String>() { // 倒序
			@Override
			public int compare(String o1, String o2) {
				return o2.compareTo(o1);
			}
		});
		//System.out.println(list); // [Z, R, C, A]
		
		Collections.reverse(list); // 顺序颠倒
		//System.out.println(list);  // [A, C, R, Z]
		
		Collections.shuffle(list); // 随机排序
		//System.out.println(list);  // [C, R, Z, A]
		
		list.sort(null);
		Collections.swap(list, 1, 3);  // 交换元素位置
		//System.out.println(list);  // [A, Z, R, C]
		
		Collections.fill(list, "E");
		//System.out.println(list);  // [E, E, E, E]
		
		List<String> list2 = new ArrayList<>();
		list2.add("F");
		list2.add("E");
		list2.add("A");
		
		Collections.copy(list, list2); // 赋值list2 到 list 中 剩余的保留 其他替换
		//System.out.println(list); //[F, E, A, E]
		
		String min = Collections.min(list); // 返回最小元素
		//System.out.println(min);  // A
		
		min = Collections.min(list, new Comparator<String>() {
			@Override
			public int compare(String o1, String o2) { // 根据比较器返回集合最小值
				return o2.compareTo(o1);
			}
		});
		
//		System.out.println(list); // [F, E, A, E]
//		System.out.println(min); // F
		
		String max = Collections.max(list); // 最大值 方法同min
		
		Collections.rotate(list, -1); // 所有元素向前后移动 正数 表示向后 负数表示向前
//		System.out.println(list); // [E, A, E, F]
		
		Collections.replaceAll(list, "E", "G"); // 替换元素
//		System.out.println(list); // [G, A, G, F]
		
		list2.clear();
		list2.add("A");
		list2.add("G");
		int nPos = Collections.indexOfSubList(list, list2); // list2 在list 中出现的位置
//		System.err.println(nPos); // 1
		nPos = Collections.lastIndexOfSubList(list, list2); // 最后一次出现的位置
		
		Collection<String> collect = Collections.unmodifiableCollection(list); // 返回一个只读的集合
		Set<String> set = new HashSet<>();
		Collections.unmodifiableSet(set); // 同上
		
		Collections.synchronizedCollection(list); // 返回同步集合
		
		Collections.emptyList();
		
		List<String> list3 =Collections.singletonList("EE"); //返回一个只包含指定对象的不可变列表 
		
		List<String> list4 = Collections.nCopies(5, "SS"); // 
		System.out.println(list4);  // [SS, SS, SS, SS, SS]

		Collections.reverseOrder(); // 字典反序 返回比较器
		
		list.sort(Collections.reverseOrder()); // 
		System.out.println(list); // [G, G, F, A]
		
		Collections.reverseOrder(new Comparator<String>() { // 反序
			@Override
			public int compare(String o1, String o2) {
				// TODO Auto-generated method stub
				return 0;
			}
		});
		
		Enumeration<String> enumeration = Collections.enumeration(list); // 元素转成枚举
		list = Collections.list(enumeration);
		
		int nTime = Collections.frequency(list, "G"); // 返回出现的次数
		System.out.println(nTime);
		
		boolean bSame = Collections.disjoint(list, list2); // 两个集合有没有相同的元素
		
		Collections.addAll(list, "we", "we", "wea");
		System.out.println(list);  // [G, G, F, A, we, we, wea]
	}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值