TreeSet
特点:无序 , 无下标 , 不重复
功能:排序
TreeSet排序步骤
1.实现Comparable接口
2.实现接口中方法
3.编写排序规则
4.将规则传入到TreeSet的构造方法中
注意: compareTo方法返回值为0时,不存
Map(双列集合的父接口)
1.以键值对形式来存储数据
key–value
2.键值唯一(不能重复)
- HashMap : 去重的功能(该功能属于 key 列)
- TreeMap : 排序的功能(该功能属于 key 列)
Map方法
- containsKey判断是否包含key
- containsValue是否包含Value
- keySet取出所有key的Set集合
- values取出所有Value集合
- remove删除方法,通过key将整个键值对删除
- clear清空
- put添加
遍历Map集合
通过迭代器遍历
HashMap<Person, String> map = new HashMap<>();
map.put(new Person("东东", 18), "山东");
map.put(new Person("西西", 19), "山西");
map.put(new Person("南南", 20), "河南");
map.put(new Person("北北", 21), "河北");
// 取出所有key的集合
Set<Person> keySet = map.keySet();
// 取出集合中的迭代器
Iterator<Person> iterator = keySet.iterator();
// 遍历所有key
while (iterator.hasNext()) {
// 取出集合中的key值
Person key = iterator.next();
// 利用key取出对应的value
String string = map.get(key);
System.out.println("key = " + key + " " + "string =" + string);
}
用Entry对象来遍历Map
HashMap<String, Integer> map = new HashMap<>();
map.put("东东", 18);
map.put("南南", 19);
map.put("西西", 20);
map.put("北北", 21);
// 获取所有Entry对象的Set集合
Set<Entry<String, Integer>> entrySet = map.entrySet();
// 取出迭代器
Iterator<Entry<String, Integer>> iterator = entrySet.iterator();
// 遍历所有Entry对象
while (iterator.hasNext()) {
// 取出集合中 每一个entry对象
Entry<String, Integer> next = (Entry<String, Integer>)iterator.next();
// 从entry中取出 key-value
System.out.println(next.getKey() + next.getValue());
}