Java操作集合的工具类

来源:互联网 发布:五子棋雾化器完美数据 编辑:程序博客网 时间:2024/06/06 03:48
一、介绍
提供了大量的方法对集合元素进行排序,查询,修改等操作,还提供了将集合对象这职位不可变、对集合对象实现同步控制的方法

二、排序、查找、替换
import java.util.ArrayList;import java.util.Collections;public class SortTest {public static void main(String[] args) {// TODO 自动生成的方法存根ArrayList nums = new ArrayList();nums.add(2);nums.add(-4);nums.add(43);nums.add(0);nums.add(2);System.out.println(nums);Collections.reverse(nums);// 次序反转System.out.println(nums);Collections.sort(nums);// 排序System.out.println(nums);Collections.shuffle(nums);// 随机排序System.out.println(nums);System.out.println("最大  " + Collections.max(nums));System.out.println("最小  " + Collections.min(nums));Collections.replaceAll(nums, 0, 1);// 将0替换为1System.out.println(nums);System.out.println("元素2在集合中出现的次数  " + Collections.frequency(nums, 2));Collections.sort(nums);// 排序后进行二分法查询System.out.println(nums);System.out.println(Collections.binarySearch(nums, 43));}}
三、同步控制
提供了多个synchronizedXxx()方法,可以将指定集合包装成线程同步的集合,从而解决多线程并发访问集合时线程安全的问题。
import java.util.ArrayList;import java.util.Collection;import java.util.Collections;import java.util.HashMap;import java.util.HashSet;import java.util.List;import java.util.Map;import java.util.Set;public class SynchronizedTest {public static void main(String[] args) {//提供了4种方法Collection collections=Collections.synchronizedCollection(new ArrayList());List list=Collections.synchronizedList(new ArrayList());        Set set=Collections.synchronizedSet(new HashSet());        Map map=Collections.synchronizedMap(new HashMap());}}

四、设置不可变集合
import java.util.Collections;import java.util.HashMap;import java.util.List;import java.util.Map;import java.util.Set;public class UnmodfiableTest {public static void main(String[] args) {// 创建一个空的不可改变的ListList unmodifiableList=Collections.emptyList();//只有一个元素不可改变的SetSet unmodifiableSet=Collections.singleton("java");//创建一个MapMap score=new HashMap();score.put("语文", 90);score.put("数学", 100);//返回普通Map对象的不可变版本Map unmodifiableMap=Collections.unmodifiableMap(score);//以下代码会产生异常unmodifiableList.add("1234");unmodifiableSet.add("hello");unmodifiableMap.put("ahah", 66);}}




1 0
原创粉丝点击