目录
双列集合
Map双列集合
遍历方式
键找值
键值对
Lambda表达式
HashMap集合
LinkedHashMap集合
TreeMap集合
可变参数
前言:学习JAVA的第十五天(基础)-CSDN博客
双列集合
特点:
双列集合一次需要存放一对数据,分别为键和值
键不能重复,值可以重复
键和值是一一对应的,每个键只能找到自己对应的值
键和值被称为键值对,java中叫Entry对象
Map双列集合
map是双列集合的顶层接口,它的功能是双列集合都可以继承使用的
方法:
方法名 | 说明 |
---|---|
V put(k key, V value) | 添加元素 |
V remove(Object key) | 根据键删除键值对元素 |
void clear() | 移除所有键值对元素 |
boolean containsKey(Object key) | 判断集合是否包含指定的键 |
boolean containsValue(Object value) | 判断集合是否包含指定的值 |
boolean isEmpty() | 判断集合是否为空 |
int size() | 判断集合的长度,键值对的个数 |
测试类
public static void main(String[] args) {//创建Map集合对象Map<String,String> m = new HashMap<>();//添加元素 覆盖相同键的值m.put("zzz","vvv");System.out.print(m);//{zzz=vvv}//删除元素m.put("aaa","ccc");m.remove("zzz");System.out.println(m);//{aaa=ccc}//清空m.clear();System.out.println(m);//{}//判断是否包含m.put("aaa","bbb");boolean result1 = m.containsKey("aaa");boolean result2 = m.containsKey("bbb");System.out.println(result1);//trueSystem.out.println(result2);//false}
遍历方式
①键找值
②键值对
③Lambda表达式
键找值
public static void main(String[] args) {//创建map集合的实现类Map<String,String> m = new HashMap<>();//添加元素m.put("aaa","ccc");m.put("bbb","ddd");m.put("ccc","eee");//键找值Set<String> keys = m.keySet();//遍历单列集合for (String key : keys) {
// System.out.println(key);String value = m.get(key);System.out.println(key+"="+value);}}
键值对
public static void main(String[] args) {//创建Map集合的实现类Map<String,String> m = new HashMap<>();//添加元素m.put("red","m");m.put("blue","z");m.put("green","x");//键值对Set<Map.Entry<String,String>> s = m.entrySet();//遍历键值对对象for (Map.Entry<String, String> Entry : s) {System.out.println(Entry.getKey()+"="+Entry.getValue());}}
Lambda表达式
public static void main(String[] args) {//创建Map对象Map<String,String> m = new HashMap<>();//添加元素m.put("aaa","ccc");m.put("bbb","ddd");m.put("ccc","eee");//利用Lambda表达式遍历m.forEach((key,value)->System.out.println(key+"="+value));}
HashMap集合
HashMap是Map里面的实现类
底层:和HashSet一样,数据结构都是哈希表
哈希值:利用键计算哈希值
哈希值一样,值也一样,后面添加的会覆盖前面的
由键决定特点:无序,无索引,不重复
LinkedHashMap集合
由键决定特点:有序,不重复,无索引
底层:利用哈希表数据结构,但有双链表的机制记录键值对元素存储的顺序
TreeMap集合
TreeMap和TreeSet一样,底层都是红黑树结构
由键决定特点:可排序,不重复,无索引
可变参数
本质:就是一个数组
作用:形参可以接受多个不定的数据
格式:数据类型...变量名
注意:
在形参列表中,可变参数只能有一个
可变参数必须放在形参列表最后面