Collections中的实用方法
总结一下java.util.Collections类内部的静态方法。
checkedCollection(Collection<T> , Class<T> type)
checkedList(List<T> , Class<T> type)
checkedMap(Map<K,V>,Class<K> keyType,Class<V> valueType)
checkedSet<Set<T>, Class<T> type)
checkedSortedMap(SortedMap<K,V>,Calss<K> keyType,Class<V> valueType)
checkedSortedSet(SortedSet<T>,Class<T> type)
以上方法产生Collection或者Collection的具体子类型的动态类型安全的师徒。在不可能实用静态检查版本时使用这些方法。
max(Collection)
min(Collection)
返回参数Collection中最大或最小元素-采用Collection中的内置自然比较法。
max(Collection,Comparator)
min(Collection , Comparator)
返回参数Collection中最大或最小元素-采用Collection中的Comparator进行比较。
indexOfSubList(List source,List target)
返回target在source中第一次出现的位置,或者在找不到时返回-1
lastIndexOfSubList(List source,List target)
返回target在source中最后一次出现的位置,或者在找不到时返回-1
replaceAll(List<T> , T oldVal,T newVal)
使用newVal替换所有的oldVal
reverse(List)
逆序所有元素次序
reverseOrder()
reverseOrder(Comparator<T>)
返回一个Comparator,它可以逆转实现了Comparator<T> 的对象集合的自然顺序。第二个版本可以逆转所提供的Comparator的顺序。
rotate(List,int distance)
所有元素向后移动distance个位置,将末尾的元素循环到前面来。
shuffle(List)
shuffle(List,Random)
随机改变指定列表的顺序。
sort(List<T>)
sort(List<T>,Comparator<?Super T> c)
排序List
copy(List<? super T> dest, List<?extends T> src)
将src中的元素复制到dest
swap(List,int i , int j )
交换list中位置i和位置j的元素,通常比自己写的代码快
fill(List<? super T > , T x )
用对象x替换list中的所有元素
nCopies( int n , T x )
返回大小为n的List<T> , 次List不可改变,其中的引用都指向x
disjoint( Collection,Collection )
当两个集合没有任何相同元素时,返回true
frequency( Collection,Object x )
返回Collection中等于x的元素个数
emptyList()
emptyMap()
emptySet()
返回不可变的空List,Map或Set。这些方法都是泛型的。因此所产生的结果将被参数化为所希望的类型
singleton(T x )
singletonList(T x )
singletonMap(K key, V value)
产生不可变的Set<T>、List<T>或Map<K,V>,它们都只包含基于所给定的参数的内容而形成的单一项。
list(Enumeration<T> e )
产生一个ArrayList<T>,它包含的元素的顺序,与(旧式的)Enumeration(Iterator的前身)返回这些元素的顺序相同。用来转换遗留的老代码。
enumeration(Collection<T>)
为参数生成一个旧式的Enumeration<T>
Collections中的实用方法的更多相关文章
- 关于Collections中的sort()方法总结
用Java集合中的Collections.sort方法对list排序的两种方法 本文部分引用自:http://my.oschina.net/leoson/blog/131904 用Collection ...
- Collections中的各种方法
一.各种方法介绍 Counter 统计个数 elements most_common subtract defaultdict 字典默认值 ChainMap 合并多个映射对象(字典) Ord ...
- Python中os和shutil模块实用方法集…
Python中os和shutil模块实用方法集锦 类型:转载 时间:2014-05-13 这篇文章主要介绍了Python中os和shutil模块实用方法集锦,需要的朋友可以参考下 复制代码代码如下: ...
- Python中os和shutil模块实用方法集锦
Python中os和shutil模块实用方法集锦 类型:转载 时间:2014-05-13 这篇文章主要介绍了Python中os和shutil模块实用方法集锦,需要的朋友可以参考下 复制代码代码如下: ...
- 网站开发中很实用的 HTML5 & jQuery 插件
这篇文章挑选了15款在网站开发中很实用的 HTML5 & jQuery 插件,如果你正在寻找能优化网站,使其更具创造力和视觉冲击,那么本文正是你需要的.这些优秀的 jQuery 插件能为你的网 ...
- C#中==与Equals方法的区别
using System;using System.Collections.Generic;using System.Linq;using System.Text; namespace Console ...
- 2.C#中泛型在方法Method上的实现
阅读目录 一:C#中泛型在方法Method上的实现 把Persion类型序列化为XML格式的字符串,把Book类型序列化为XML格式的字符串,但是只写一份代码,而不是public static s ...
- EF封装类 增加版,增加从缓存中查找数据方法,供参考!
EF封装类 增加版,增加从缓存中查找数据方法,供参考! 这个类是抽象类,我这里增加了需要子类验证的方法ValidateEntity,方便扩展,若想直接使用该类,可以将该类更改成静态类,里面所有的方法都 ...
- jquery中的clone()方法使用
clone([Even[,deepEven]]) 描述: 克隆匹配的DOM元素并且选中这些克隆的副本. 在想把DOM文档中元素的副本添加到其他位置时这个函数非常有用. 1:一个布尔值(true 或者 ...
随机推荐
- 攻防世界(五)Web_php_include
攻防世界系列:Web_php_include 方法一:大小写绕过 strstr()函数对php我协议进行了过滤,但我们可以尝试大小写绕过 抓包POST传值让其执行我们输入的命令 ?page=Php:/ ...
- STM32 keil中编译遇到的问题
发现 移植的SPI程序 说里面的 SPI_InitTypeDef 所有有关 SPI库函数的都找不到 这是因为 用的是 原子的程序 在 config函数中 把这个注释了
- STM32程序的启动
普及: 不同位置启动首需要硬件上的配合:BOOT1与BOOT0 引脚电平配合,一般默认使用主闪存存储: 也就是BOOT0 = 0; 启动时将现在起始模式的初始地址映射到了0x0000 0000,内部S ...
- Centos 7常见问题——SMBus Host Controller not enabled!
在使用虚拟机Centos7操作系统偶尔会遇到,重启开机过程中出现如下图情况,无法正常开机 出现这种情况的可能原因就是你在虚拟机中添加了网卡或硬盘,还有给内存添加了容量之类就会导致开机有这种报错 解决方 ...
- web容器获取SSL指纹实现和ByPass
@font-face { font-family: octicons-link; src: url("data:font/woff;charset=utf-8;base64,d09GRgAB ...
- Python+Selenium自动化-安装模块和浏览器驱动操作方法
Python+Selenium自动化-安装模块和浏览器驱动操作方法 1.安装模块文件 pip install selenium 2.安装浏览器驱动 我们主要用的浏览器驱动有chrome浏览器.fire ...
- 永远的ace 实验七 团队作业4—团队项目需求建模与系统设计(1)
项目 内容 课程班级博客链接 https://edu.cnblogs.com/campus/xbsf/2018CST/ 这个作业要求链接 https://www.cnblogs.com/nwnu-da ...
- HiCar基本功能介绍
HiCar基本功能介绍 基本概述 一方面,基于操作系统超强的分布式能力,HUAWEI HiCar通过手机和汽车之间的连接,基于三层标准与能力,构建手机和汽车互助资源池,把手机的服务生态延伸到车内,实现 ...
- Django(58)viewsets视图集详解
前言 ViewSet 只是一种基于类的视图,它不提供任何方法处理程序(如 .get()或.post()),而是提供诸如.list()和 .create() 之类的操作. ViewSet 的方法处理程序 ...
- 【NX二次开发】PMI线性标注
PMI线性标注,二次开发的难点在于控制尺寸的位置,多花点儿时间都能搞出来,想走捷径最下面就是源码. 只需要摆好工作坐标,然后指定你要标注尺寸的两个点,就可以很方便得利用这个封装函数做出你想要的PMI. ...