泛型:(规定集合中存放对象的数据类型)
● 语法 :集合类型<数据类型> 集合对象名 = new 接口实现类<数据类型>();● 例子 :List<Person> list = new ArrayList<Person>();
注意:没有显示的指明泛型时,它的类型默认为Object,只能在泛型中存放引用数据类型,基本数据类型时必须使用其包装类(引用数据类型),E和T是泛型的标志,表示任意数据类型
------------------------------------------------------------------------------------------------------------------
List与Set集合相互转换: ( 在彼此的构造器中传入彼此的对象 )
------------------------------------------------------------------------------------------------------------------
Map接口:(存储的是一串“key-value”键值对的entry)
● 与Collection并列存在。用于保存具有映射关系的数据:Key-Value
● key和value都可以是任何引用类型的数据
● key用Set来存放,不允许重复(同一个Map对象所对应的类,须重写hashCode()和equals()方法)
● key和value之间存在单向一对一关系,即通过指定的key总能找到唯一的、确定的value值
------------------------------------------------------------------------------------------------------------------
Map常用方法: (声明对象:Map map = new HashMap())
● put(Object key,Object value) :添加元素(如果key存在,则修改value值。key不存在,则添加)
● remove(Object key) :删除集合中指定key的集合元素,并返回key对应的value值
● putAll(Map t) :向集合中添加一个Map集合
● c lear() :清除集合中的元素
● get(Object key) :通过key键查找对应的value值。如果key不存在则返回null
● containsKey(Object key) :集合中是否存在指定的key键,存在返回true,否则返回false
● containsValue(Object value) :集合中是否存在指定的value值,存在返回true,否则返回false
● size() :获得集合的长度
● isEmpty() :判断集合是否为空,为空返回true 否则返回false
● equals(Object obj) :比较两个集合是否相等,不考虑元素的顺序
● keySet() :通过循环遍历出所有key键( for(Object o : map.keySet( ) ) { } )
● values() :通过循环遍历出所有value值( for(Object o : map.values( ) ) { } )
● entrySet() :把集合中的元素转换成set集合,set集合存放的是map集合中的entry对象
------------------------------------------------------------------------------------------------------------------
Map接口常用实现类:
● HashMap :Map集合主要实现类,允许使用null键和null值,与HashSet一样,不保证映射的顺序
● LinkedHashMap ( LinkedHashSet类似):HashMap的子类,可以维护Map的迭代顺序(和插入顺序一致)
● TreeMap ( TreeSet类似):Key键的数据类型必须相同(Key键上存储引用数据类型需实现Comparable接口)
● Hashtable :很古老,线程安全,与HashMap类似,但是不允许使用null键和null值
● Properties :Hashtable的子类,用于处理属性文件(key、value 都是字符串类型)
注意:存取数据使用setProperty(String key,String value)和getProperty(String key)
------------------------------------------------------------------------------------------------------------------
集合的工具类: ( Collections:均为static方法 )
排序操作:
● reverse(List) :反转List中元素的顺序
● shuffle(List) :对List集合元素进行随机排序
● sort(List) :根据元素的自然顺序对指定List集合元素按升序排序
● sort(List,Comparator) :根据指定的Comparator产生的顺序对List集合元素进行排序
● swap(List,int, int) :将指定list集合中的 i 处元素和 j 处元素进行交换
查找、替换:
● max(Collection) :根据元素的自然顺序,返回给定集合中的最大元素
● max(Collection,Comparator) :根据Comparator指定的顺序,返回给定集合中的最大元素
● min(Collection) :根据元素的自然顺序,返回给定集合中的最小元素
● min(Collection,Comparator) :根据Comparator指定的顺序,返回给定集合中的最小元素
● frequency(Collection,Object) :返回指定集合中指定元素的出现次数
● copy(List dest,List src) :将src中的内容复制到dest中
● replaceAll(List list,Object oldVal,Object newVal) :使用新值替换List对象的所有旧值
------------------------------------------------------------------------------------------------------------------
同步控制:
Collections类中提供了多个synchronizedXxx()方法,该方法可使将指定集合包装成线程同步的集合,从而可以解决多线程并发访问集合时的线程安全问题
------------------------------------------------------------------------------------------------------------------
自己整理,有些地方是扒拉的,如有侵犯,还望告知