双列集合的特点
- 双列集合一次需要存一对数据,分别为键和值
- 键不能重复,值可以重复
- 键和值是一一对应的,每一个键只能找到自己对应的值
- 键+值这个整体我们称之为“键值对”或者“键值对对象”,在Java中叫做“Entry对象”
Map集合常用的API
//1.创建Map集合的对象
Map<String, string> m = new HashMap<>();
//2.添加元素
// put方法的细节:
//添加/覆盖
//在添加数据的时候,如果键不存在,那么直接把键值对对象添加到map集合当中
//在添加数据的时候,如果键是存在的,那么会把原有的键值对对象覆盖,会把被覆盖的值进行返回。
m.put("郭靖","黄蓉");
m.put("韦小宝","沐剑屏");
m.put("尹志平","小龙女");
string value = m.put("韦小宝","双儿");
system.out.println(value);
//3.打印集合
system.out.println(m); //???
-Map集合的第一种遍历方式
//Map集合的第一种遍历方式
//1.创建Map集合的对象
Map<String,string> map = new HashMap<>();
//2.添加元素
map.put("尹志平","小龙女");
map.put("郭靖","穆念慈");
map.put("欧阳克","黄蓉");
//3.通过键找值
//3.1获取所有的键,把这些键放到一个单列集合当中
set<String> keys = map.keySet();
//3.2遍历单列集合,得到每一个键
for ( string key : keys) {
//system.out.println( key ) ;
//3.3利用map集合中的键获取对应的值
getstring value = map.get(key);
system.out.print1n(key + " =" + value);
}
-Map集合的第二种遍历方式
public class A03_MapDemo3 {
public static void main(String[ ] args) {
//Map集合的第二种遍历方式
//1.创建Map集合的对象
Map<String,string> map = new HashMap<>();
//2.添加元素
//键:人物的外号//值:人物的名宁
map.put("标枪选手","马超");
map.put("人物挂件","明世隐");
map.put("御龙骑士","尹志平");
//3.Map集合的第二种遍历方式
//通过键值对对象进行遍历
//3.1通过一个方法获取所有的键值对对象,返回一个Set集合
Set<Map.Entry<string,string>> entries = map.entrySet();
//3.2遍历entries这个集合,去得到里面的每一个键值对对象
for (Map.Entry<String,String> entry : entries) {//entry ---’“人物挂件" ,"明世稳"
//3.3 利用entry调用get方法获取键和值
string key = entry.getKey( );
string value = entry.getvalue();
system.out.print1n(key + "=" + value);
-Map集合的第三种遍历方式
//3.利用lambda表达式进行遍历
map.forEach(new BiConsumer<String,String>() {
@override
public void accept( String key,string value) {
system.out.println(key + "=" + value);
}
});
集合进阶-06-HashMap基本的使用
HashMap的特点
- HashMap是Map里面的一个实现类。
- 没有额外需要学习的特有方法,直接使用Map里面的方法就可以了。
- 特点都是由键决定的:无序、不重复、无索引
- HashMap跟HashSet底层原理是一模一样的,都是哈希表结构