V put(K key, V value) 添加/修改指定的映射 返回的是: 被替换的值
boolean containsKey(Object key) 判断map容器是否包含指定的键
boolean containsValue(Object value) 判断map容器是否包含指定的值
V get(Object key) 根据指定的键获取指定的值
void putAll(Map m) 把m集合中所有的元素,添加到当前map容器中
V remove(Object key) 根据指定的键删除对应的映射
int size() 获取map容器中元素的个数
void clear() 移除所有映射关系。
boolean isEmpty() 判断map容器是否为空, 为空返回true,否则返回false
Collection values() 获取map中所有的值
Set keySet() 获取map中所有的键
Set entrySet() 获取map所有的entry对象
Map接口没有继承Iterable接口所以不能使用增强for循环和迭代器循环。
Arrays工具类是sun公司为我们提供的一个专门操作数组的类
Collections工具类是sun公司为我们提供的专门操作集合的类
static T max(Collection coll) 获取集合中最大元素
static T max(Collection coll, Comparator comp) 根据比较器获取最大的元素
static T min(Collection coll) 获取集合中最小元素
static T min(Collection coll, Comparator comp) 根据比较器获取最小元素
static void reverse(List list) 反转指定列表中元素的顺序。
static void shuffle(List list) 随机打乱集合中的元素
static void sort(List list) 根据元素的自然顺序 对指定列表按升序进行排序。
static void sort(List list, Comparator c) 根据指定比较器产生的顺序对指定列表进行排序。
static List emptyList() 返回空的列表(不可变的)。
static Map emptyMap() 返回空的映射(不可变的)。
static Set emptySet() 返回空的 set(不可变的)。
注意:以上三个方法都仅仅表示一种状态而已
Hashtable和HashMap的区别:
Hashtable是HashMap的前身,Hashtable是线程安全的,而HashMap是线程不安全的,所以HashMap性能要比Hashtable高
Hashtable不能以null作为键和值,而HashMap是允许的(集合中就只有Hashtable不能使用null作为值)
TreeMap集合是无序不可重复的,底层都是使用二叉树实现的,这个集合默认是自然排序,也可以使用定制排序(比较器)
要想往TreeSet容器和TreeMap容器中存储数据,那么数据必须要按照一定的顺序排序才能存储
Properties容器是Hashtable容器的子类,他操作的数据也是无序的不可重复的键值对,并且要求键和值都必须是字符串;除此之外,Properties容器的操作方法不能使用继承而来的,因为这样会让他失去自己的意义
Object setProperty(String key, String value) 调用 Hashtable 的方法 put。
public String getProperty(String key)取值 根据指定的key获取对应的值 。
public String getProperty(String key, String defaultValue) 根据指定的key获取对应的值,如果没找到,则直接返回defaultValue对应的值
void list(PrintStream out) 把内存里面的数据同步到磁盘上
pp.list(new PrintStream("D:/Java学习资料/资料/2019-04-13-集合框架-Set-DAY20/resources/abc.txt"));//这是绝对路径
pp.list(new PrintStream("a.txt")//这是相对路径 ,相对于当前项目的路径, 这个文件会存在当前项目的根路径 (当前项目的根路径:当前项目打开第一层,就称为根路径)
void load(InputStream inStream) 简单理解把磁盘中的数据读取到内存中
泛型:它是一个泛指,简单理解就是约束着容器只能装某一类型的值
我们只需要在创建对象的时候再具体写出泛型的具体类型。
泛型的注意事项:添加泛型的时候,必须添加引用数据类型,不能添加基本数据类型
泛型有个规范:
E: element 元素
T: Type 类型
K: key 键
V: value 值
当我们在开发中不确定使用什么数据类型是,就可以使用泛型,避免重复的更改数据类型
泛型的上限和下限:简单记忆:上有顶,下有底,意思就是? extends 引用数据类型 A,你传递的泛型必须是A或者A的子孙类;? super 引用数据类型B,你传递的泛型必须是B或者B的父类
? 是一个通配符,代表任意泛型。
我们最常用泛型的方式: new ArrayList<String>();
new HashMap<String,Integer>();
class IntArr<T>;
转载于:https://www.cnblogs.com/limengkun/p/10710048.html
相关资源:JAVA上百实例源码以及开源项目