/*HashMap:散列映射表
* 使用同一键值调用两次put方法,第二个值将取代第一个值
* remove方法用于移除包含给定键的元素*/
import java.util.*;
public class MapTest {
public static void main(String[] args)
{
Map<String,Language> book=new HashMap<String,Language>();
book.put("first", new Language("java"));
book.put("second",new Language("c++"));
book.put("third", new Language("c#"));
book.put("fouth", new Language("c"));
System.out.println(book);
book.remove("first");
book.put("fifty", new Language("basic"));
System.out.println(book.get("fouth"));
/*获取键集*/
Set<String> keys=book.keySet();
for(String key:keys)
{
System.out.println(key);
}
/*获取值集合*/
Collection<Language> values=book.values();
for(Language value:values)
{
System.out.println(value);
}
/*获取键/值对的集合*/
//Set<Map.Entry<String, Language>> keyAndValues=book.entrySet();
for(Map.Entry<String, Language> entry:book.entrySet())
{
String key=entry.getKey();
Language value=entry.getValue();
System.out.println("key="+key+",value="+value);
}
}
}
class Language
{
private String name;
private int number;
public Language(String n)
{
name=n;
}
public String toString()
{
return "[name="+name+",number="+number+"]";
}
}
程序输出结果:
{first=[name=java,number=0], fouth=[name=c,number=0], third=[name=c#,number=0], second=[name=c++,number=0]}
[name=c,number=0]
fifty
fouth
third
second
[name=basic,number=0]
[name=c,number=0]
[name=c#,number=0]
[name=c++,number=0]
key=fifty,value=[name=basic,number=0]
key=fouth,value=[name=c,number=0]
key=third,value=[name=c#,number=0]
key=second,value=[name=c++,number=0]
本文通过一个具体的Java程序示例,展示了如何使用HashMap进行键值对的存储与操作,包括添加、删除元素及获取集合等常见操作。
1190

被折叠的 条评论
为什么被折叠?



