Java
集合框架?/p>
Map
详解
Map
(映射)是一个接口,是一个键值对来进行存储的。一对一对往里内存,而且要保证键
的唯一性?/p>
Map
|--Hashtable
:底层是哈希表数据结构,不可以存?/p>
null
?/p>
null
值。该集合是线程同?/p>
的?/p>
jdk1.0
效率?/p>
|--HashMap:
底层是哈希表数据结构,允许使?/p>
null
值和
null
键,该集合是不同步的?/p>
jdk1.2
效率?/p>
|--TreeMap
?/p>
底层是而查实数据结构?/p>
线程不同步?/p>
可以用于?/p>
Map
集合中的键进行排
序,?/p>
Set
很像,其实,
Set
底层就是使用?/p>
Map
集合?/p>
Map
HashMap
是最常用的一个类,那?/p>
HashMap
的最常用的方法有哪些呢?
a
?/p>
放置?/p>
public
V
put
(
K
key, V value)
:在此映射中关联指定值与指定?/p>
b
)获取:
public
V
get
(
Object
key)
:返回指定键所映射的?/p>
键的集合?/p>
public
Set
<
K
>
keySet
()
?/p>
Map
?/p>
keySet
()方法会返?/p>
key
的集合,因为
Map
的键是不能重复的,因?/p>
ksySet
()方法的返回类型是
set
?/p>
c
?/p>
值的集合?/p>
public Collection<V> values()
?/p>
Map
的值是可以重复的。因?/p>
value
()方法?
返回类型?/p>
Collection
,可以容纳重复的元素
.
我们来看看以下,这些常用方法的使用:
import
java.util.Collection;
import
java.util.HashMap;
import
java.util.Iterator;
import
java.util.Set;
public
class
HashMapTest {
public
static
void
main(String[] args) {
HashMap map=
new
HashMap();
map.put(
"name1"
,
"zhangsan"
);
map.put(
"name2"
,
"lisi"
);
map.put(
"name3"
,
"wangwu"
);
map.put(
"name1"
,
"zhaoliu"
);
System.
out
.println(map);
System.
out
.println(
"--------------------"
);
String value1=(String) map.get(
"name2"
);
System.
out
.println(value1);