Java中有一种很重要的类Map,用来存储键值对数据。比如,url=http://www.baidu.com这样的数据,可以把url当作是键,http://www.baidu.com当做是值。一个键对应一个值,这种一一对应的关系,而且键都是唯一的,就可以用Map存储。Map有HashMap和TreeMap,其中HashMap很常用。

 

Map newMap = new HashMap()这样就创建了一个Map类型的对象newMap。把数据存入这个newMap,可以使用put()方法。

newMap.put("baidu", "http://www.baidu.com");
newMap.put("163", "http://www.163.com");

这个Map对象中存入了baidu和163两个url,它们的值分别为http://www.baidu.com和http://www.163.com。

 

要从Map中取出数据,可以使用Map的get()方法。

String value = (String) newMap.get("baidu");
System.out.println(value);

从Map中取出的值会是http://www.baidu.com,这是一个字符串String,但get()方法这里返回的是Object类型的,所以使用强转。

 

Map也是支持泛型的,这一点和List类似。使用泛型创建Map对象可以Map newMap = new HashMap()这样定义,那么get()方法取值时就不需要强转了。

Map newMap = new HashMap();
newMap.put("baidu", "http://www.baidu.com");
newMap.put("163", "http://www.163.com");

String value = newMap.get("baidu");
System.out.println(value);
 

Map和List一样也可以存多个记录,如果要从Map中把所有记录都取出来,就要用到entrySet()方法了。这个方法返回一个Set的类型,可以看出这是一个存着Entry类型的Set类对象。

Set entrySet = newMap.entrySet();

 

先看这个Set类。Set这种类和List又很相似。List是一种有顺序的列表,而Set则是无顺序的列表。比如创建一个Set对象,可以使用Set newSet=new HashSet()这样创建,往Set中增加数据同List一样,用add()方法。

 

那Entry又是什么呢?Entry是Map存放数据的格式,其实它就是Map类里面的一个内部类。Map类里定义这个内部类,用来存储键值对数据,所以在Map中存数据,实际上就是在Entry里存数据。当引入Entry这个类时,可以看到import java.util.Map.Entry,所以Entry实际上应该是Map.Entry这样的一个内部类。Map中要存放多个Entry,所以Map的entrySet()方法返回了一个Set类型的对象,也就是Map把数据存在Entry里,又把Entry存在Set里。

 

我们可以使用for循环把Set中的数据取出来。

Set entrySet = newMap.entrySet();

for (Entry entry : entrySet) {
System.out.println("key: " + entry.getKey());
System.out.println("value: " + entry.getValue());
}
打印结果如下:

key: baidu
value: http://www.baidu.com
key: 163
value: http://www.163.com
 

这种键值对的数据以后会经常用到,比如属性名和属性值一一对应的多条记录,就可以用Map存放。Map中的数据要保证键是唯一的,如果以相同的键存放多个值,那么Map中只会把最新的值以这个键存起来。
newMap.put("163", "http://www.163.com");
newMap.put("163", "http://163.com");
这样如果多次存放了163这个键,最后取出来的值一定只会是http://163.com,最后一次存的值会覆盖上一次存的值,也就保证了Map中数据的键值唯一对应的关系。

 

配套进阶****:

https://edu.csdn.net/combo/detail/938

 

Java中级SSH框架项目开发设计教程

Java自学之路-Java基础教程-50:Java的键值类Map及哈希表结构HashMap

 

 

 

Java自学之路-Java基础教程-50:Java的键值类Map及哈希表结构HashMap

 

 

具有OCR和ASR功能,可以识别图片和录音中文字,并有多国语言翻译功能,

可以作为便签或笔记,类似微博的图文应用

 

相关文章:

  • 2022-12-23
  • 2021-12-26
  • 2021-06-14
  • 2021-10-09
  • 2022-01-01
  • 2021-08-22
  • 2021-11-23
猜你喜欢
  • 2021-07-13
  • 2021-10-17
  • 2021-03-31
  • 2021-11-27
  • 2021-04-13
  • 2021-12-24
  • 2021-05-08
相关资源
相似解决方案