Java知识点--操作集合的工具类Collections

Java知识点–操作集合的工具类Collections

1.排序

方法功能
void reverse(List list)反转
void shuffle(List list)随机打乱
void sort(List list)自然排序(升序)
void sort(List list,Comparator c)自定义排序
void swap(List list,int i,int j)i索引处的值与j索引处的值交换
void rotate(List list,int distance)当distance大于0,将list集合后distance个元素移到前面,当distance小于0,则将list集合前distance个元素移到后面,不会改变集合的长度
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;

public class test01 {
	public static void main(String[] args) {
		ArrayList<Integer> list = new ArrayList<Integer>();
		list.add(2);
		list.add(-5);
		list.add(3);
		list.add(0);
		System.out.println(list);
		Collections.reverse(list);
		System.out.println(list);
		Collections.shuffle(list);
		System.out.println(list);
		Collections.sort(list);
		System.out.println(list);
		Collections.sort(list, new Comparator<Integer>() {

			@Override
			public int compare(Integer o1, Integer o2) {
				//具体数字不进行具体比较了,这样的结果和reverse相似
				return -1;
			}
		});
		System.out.println(list);
		Collections.swap(list, 0, 2);
		System.out.println(list);
		Collections.rotate(list, 3);
		System.out.println(list);
	}
}

2.查找,替换

方法功能
int binarySearch(List list,Object key)类似二分法查找,返回索引
Object max(Collection coll)自然排序,返回集合中的最大的元素
Object max(Collection coll,Comparator comp)根据自定义的排序,返回最大值
Object min(Collection coll)自然排序,返回集合中最小的元素
Object min(Collection coll,Comparator comp)根据自定义排序,返回最小值
void fill(List list,Object obj)用指定元素替换集合中的所有元素
int frequency(Collection c,Object o)用于返回指定元素的出现次数
int indexOfSubList(List source,List target)返回List对象第一次出现在父List中的索引,如果没有出现,返回-1
int lastIndexOfSubList(List source,List target)返回List对象在父List对象中最后一次出现位置的索引,如果没有出现,返回-1
boolean replaceAll(List list,Object oldVal,Object newVal)将List中的所有oldVal值替换成newVal

3.同步控制

Collections提供了多个synchronizedXxx()方法,可以将指定集合包装成同步集合

var c=Collections.synchronizedCollection(new ArrayList());

4.设置不可变集合

方法功能
emptyXxx()返回一个空的,不可变的集合集合对象
singletonXxx()返回一个只包含指定对象的,不可变的集合对象
ummodifiableXxx()返回指定集合对象的不可变视图
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;


public class test04 {
	public static void main(String[] args) {
		List<Object> list = Collections.emptyList();
		Set<String> singleton = Collections.singleton("HelloWorld");
		var source=new HashMap<String, Integer>();
		source.put("语文", 80);
		source.put("数学", 82);
		Map<String, Integer> unmodifiableMap = Collections.unmodifiableMap(source);
		//会诱发异常UnsupportedOperationException
		list.add("app");
		singleton.add("kkk");
		unmodifiableMap.put("英语", 20);
	}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值