目录
前言:学习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);//true
System.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一样,底层都是红黑树结构
由键决定特点:可排序,不重复,无索引
可变参数
本质:就是一个数组
作用:形参可以接受多个不定的数据
格式:数据类型...变量名
注意:
在形参列表中,可变参数只能有一个
可变参数必须放在形参列表最后面