Map集合
map(双例集合) 顶级父接口
HashMap(类):
-
存储的是一对元素(key = value),HashMap中的key不能重复,并且key遵循唯一性原理依赖hashCode()和equals()方法
-
常用功能:
-
添加功能
- public V put(K key, V value):添加一个key=value键值对,当key不重复的时候,返回的是null
-
获取功能:
- public V get(Object key) //根据key(键)获取Map中对应的value(值)
- public int size() //返回Map中一共有多个键值对
- public Set keySet():将Map所有的key封装到一个Set的集合
- public Collection values():将Map中所有的value封装到一个Collection体系的集合
-
判断功能
- public boolean containsKey(Object key) //是否包含指定的key
- public boolean containsValue(Object value) //是否包含指定的value
- public boolean isEmpty() //判断是Map否有键值对
-
删除功能:
- public void clear() //清空Map中的所有键值对
- public V remove(Object key) //根据键删除键值对,返回是value
-
-
两种遍历方式
-
利用keySet()方法遍历
- a.首先map调用keySet方法,将Map中所有的key封装到一个Set集合中
b.遍历这个装满key的Set集合
c.在遍历的过程中利用Map的get(key)方法获取对应的value
- a.首先map调用keySet方法,将Map中所有的key封装到一个Set集合中
-
利用entrySet()方法遍历
-
Set<Entry<String, String>> entrySet = hashMap.entrySet();
for (Entry<String, String> entry : entrySet) {String key = entry.getKey();
String value = entry.getValue();
System.out.println(key + “–” + value);
}
-
-
Collections集合工具类
Collections类是针对集合操作的工具类
类常用方法
- public static void sort(List list)将指定的列表按升序排序
- public static void reverse(List<?> list)反转指定列表中元素的顺序
- public static void shuffle(List<?> list)使用默认的随机源随机排列指定的列表
集合
Collection(单列集合最顶层接口)
-
List(接口) 特点:有序 有索引 可以重复
- ArrayList(类) 数据结构:数组结构
- LinkedList(类) 数据结构:链表
- 遍历:1 迭代器 2 增强for 3 普通for
-
Set(接口) 特点: 无序 无索引 元素唯一
- HashSet(类)
- 遍历:1 迭代器 2 增强for
Map(双列集合最顶层的接口) 元素是一个键值对
- HashMap(类) 键是唯一的
- 遍历:1 通过键找值 2 获取键值对对象 获取键和值