java集合工具类

开发工具与关键技术:MyEclipse 10、java语言、
作者:邓李庆
撰写时间: 2019年5月28日
下面小编给大家java的集合工具类:Collections,java提供了一个操作Set、List和Map等集合的工具类:Collections,该工具类里面提供了大量方法对集合元素进行排序、查询和修改等操作,还提供了对集合对象实现同步控制等方法。
排序操作:

修饰符 返回值类型 方法(形参) 说明
Static Void Reverse(List list) 反转指定列表中元素的顺序
Static Void Shuffle(List list) 使用默认随机源对指定列表进行置换
Static Void Sort(List list) 根据指定比较器产生的顺序对指定列表进行排序
Static Void Sort(list list,Comparator c) 根据指定比较器产生的顺序对指定列表进行排序
Static Void Swap(List list,int distance) 根据指定的距离轮换指定列表中的元素

下面是常用排序方法的代码图1:
java集合工具类_第1张图片
java集合工具类_第2张图片
图1
下面方法的说明:binarySearch:使用二分搜素法搜素指定列表,以获得指定对象;max:根据元素的自然顺序或指定比较器产生的顺序,返回给定collection的最大元素;min:根据元素的自然顺序或指定比较器产生的顺序,返回给定 collection 的 小元素;fill:使用指定元素替换指定列表中的所有元素;frequency:返回指定collection中等于指定对象的元素数;indexOfSubList:返回指定源列表中最后一次出现或最后一次出现指定目标列表的起始位置;如果没有出现这样的列表,则返回-1;replaceAll:使用另一个值替换列表中出现的所有某一指定值;见代码图2:
java集合工具类_第3张图片
java集合工具类_第4张图片
图2
Collections类中提供了多个synchronized……()方法,这些方法可以将指定集合包装成线程同步(线程安全)的集合,从而可以解决多线程并发访问集合时的线程安全问题。Java中常用的集合框架中的实现类:ArrayList、Linkedlist、 HashSet、TreeSet、HashMap和TreeMap都是线程不安全的。如果有多个线程访问它们,而且有超过一个的线程试图修改它们,则存在线程安全的问题。Collections提供了多个类方法可以吧它们包装成线程同步的集合。见代码图3:
java集合工具类_第5张图片
图3

List,Set,Map是集合体系中最主要的三个接口,List和Set是继承Collection接口,Map属于集合系统但与collection接口不同。
Comparator和comparable的区别:comparator定义在类的外部,此时我们的类的结构不需要有任何变化,从小到大:o1-o2从大到小:o2-o1;comparable定义在类的内部,耦合性较强从小到大::this­o 从大到小:o­this
线程安全的就是同步的,不安全的就是不同步的;不同步的运行速度要比同步的块。

你可能感兴趣的:(java集合工具类)