操作集合的工具类Collections
collections是操作集合的工具类,提供了大量操作集合的方法,包括查询、修改、排序、同步等。
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 index1, int index2) 交换指定位置上的2个元素
2、查找、替换
int binarysearch(list list, object obj) 需要保证该list已是有序状态
object max(collection c) 最大值(自然排序)
object max(collection coll , comparactor comp) 最大值(自定义排序)
object min(collection c)
object min(collection coll , comparactor comp)
void fill(list list,object obj) 用指定的元素替换list中的所有元素
boolean replaceall(list list, object oldvalue, object newvalue) 用newvalue替换list中所有的oldvue
int frequency(collection c, object obj) 统计obj出现的次数
3、同步
常用的集合类hashset、treeset、arraylist、linkedlist、hashmap、treemap都不是线程安全的,当多个线程同时访问、修改同一个集合对象时,需要手动同步该集合。
collections提供的 synchronizedxxx(集合对象) 可以把该集合对象包装成线程同步的集合。
1 //collections提供的synchronizedxxx()同步方法只同步到接口级,所以,声明同步对象时,只能声明到接口级,可以声明为父接口级,但不能声明为具体的实现类 2 //比如下面这句可以声明为list或者collection,但不能声明为arraylist 3 collection collection=collections.synchronizedlist(new arraylist()); 4 list list=collections.synchronizedlist(new arraylist()); 5 set set=collections.synchronizedset(new hashset()); 6 map map= collections.synchronizedmap(new hashmap());
推荐阅读
-
Python类的继承、多态及获取对象信息操作详解
-
Python中类的创建和实例化操作示例
-
C#实现简易的加密、解密字符串工具类实例
-
Python中Collections模块的Counter容器类使用教程
-
Android开发实现的Intent跳转工具类实例
-
Android开发中超好用的正则表达式工具类RegexUtil完整实例
-
Android开发实现查询远程服务器的工具类QueryUtils完整实例
-
C#实现的sqlserver操作类实例
-
Android 数据存储之 FileInputStream 工具类及FileInputStream类的使用
-
CorelDRAW中手绘工具的使用方法和操作技巧介绍