Java操作集合的工具类
2017-04-18 10:52
411 查看
一、介绍
提供了大量的方法对集合元素进行排序,查询,修改等操作,还提供了将集合对象这职位不可变、对集合对象实现同步控制的方法
二、排序、查找、替换
提供了多个synchronizedXxx()方法,可以将指定集合包装成线程同步的集合,从而解决多线程并发访问集合时线程安全的问题。
四、设置不可变集合
提供了大量的方法对集合元素进行排序,查询,修改等操作,还提供了将集合对象这职位不可变、对集合对象实现同步控制的方法
二、排序、查找、替换
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替换为1 System.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) { // 创建一个空的不可改变的List List unmodifiableList=Collections.emptyList(); //只有一个元素不可改变的Set Set unmodifiableSet=Collections.singleton("java"); //创建一个Map Map 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); } }
相关文章推荐
- java第八章集合中的Collections操作集合的工具类
- Java基础之(三十四)操作集合的工具类:collections
- 黑马程序员——Java基础——集合工具类Collecions、Arrays、其他对象System类、Runtime类、Date类、Calendar类、Math类等操作
- 1006--Java集合--操作集合的工具类:Collections
- Java——操作集合的工具类:Collections
- Java集合工具类(二)-泛型集合工具类,用于便捷快速的定义、操作集合。包含Set的交集、并集...
- Java 操作集合的工具类:Collections
- 第8章 Java集合—Collections操作集合的工具类
- java基础37 集合框架工具类Collections和数组操作工具类Arrays
- Java基础之集合框架--Arrays工具类(专门操作数组的工具类)
- Java复习-操作集合的工具类collections List,Set,Map区别
- java基础集合操作工具类Collections简述(java集合四)
- Java集合工具类(三)-泛型集合工具类,用于便捷快速的定义、操作集合。包含Set的交集、并集...
- Java集合工具类(一)-泛型集合工具类,用于便捷快速的定义、操作集合。包含Set的交集、并集...
- 初学Java,集合类的排序,查找,替换操作(三十五)
- Java类集 _集合工具类:Collections
- java对集合和迭代的操作基础总结
- java操作属性文件工具类
- Java中的集合关系图及常见操作
- Java类集 _集合工具类:Collections