Java小白学习指南【day18】---集合-Map-泛型

1、Map

也是一种容器的接口,里面存储的是成对的数据,以键(key)值(value)对的形式出现。

Map和Collection是两个没有关系并列的体系

1、HashMap

是Map的实现类,线程不安全,可以使用null作为键值,效率最高

2、Hashtable

是Map的实现类,是通过同步方法保证线程安全的,不可以使用null作为键值,效率最低

①、 Properties

是Hashtable的子类,持久化的属性集,存储的键值对都为String类型,不可以使用null作为键值,线程安全

3、ConcurrentHashMap

是Map继承类的实现类,通过同步代码块的方式保证线程安全,不可以使用null作为键值,效率较高

1、2、3类都是Map接口的实现类,都是通过键值对的形式存储数据,遍历方式也有两种,一种是entryset,一种是keyset。

2、collections工具类

类似于Arrays,这里collections工具类是对集合进行操作,都是静态方法,可以直接调用(类名.方法名)。

常用方法:

1static <T> boolean 
 addAll(Collection<? super T> c, T... elements) 
          将所有指定元素添加到指定 collection 中。 
2static <T> void 
 fill(List<? super T> list, T obj) 
          使用指定元素替换指定列表中的所有元素。 
3static <T extends Object & Comparable<? super T>> 
 T 
 max(Collection<? extends T> coll) 
          根据元素的自然顺序,返回给定 collection 的最大元素。 
4static <T extends Object & Comparable<? super T>> 
T 
 min(Collection<? extends T> coll) 
          根据元素的自然顺序 返回给定 collection 的最小元素。     
5static void reverse(List<?> list) 
          反转指定列表中元素的顺序。 
6static <T> void 
 copy(List<? super T> dest, List<? extends T> src) 
          将所有元素从一个列表复制到另一个列表。 
    

3、泛型

用来约束类型的,只针对引用数据类型,没有约定时,默认为Object

T 类型
K key
V value 值
E 元素

?代表不确定的类型 通常和泛型的上限和下限结合使用

? super 类型:下限 此时?代表的类型为子类或者同种类型 要求最低类型为给出的类型或者为其父类

? extends 类型:上限 此时?代表的类型为父类或者同种类型 要求最高类型为给出的类型或者是其子类

你可能感兴趣的:(学习,列表,java)