import java.util.Set;
import java.util.HashMap;
import java.util.Collection;
import java.util.Iterator;public class TestHashMap{
public static void main(String[] args) {
HashMap hm = new HashMap();
hm.put(new Integer(1003),new Person(1003,"张三",15));
hm.put(new Integer(1008),new Person(1008,"李四",25));
hm.put(1015,new Person(1015,"王五",73)); //自动封装
hm.put(1001,new Person(1001,"赵六",49)); System.out.println("----检索单个元素----");
Person p = (Person)hm.get(1008);
System.out.println(p);
System.out.println("----遍历所有\"键\"(元素名)----");
Set names = hm.keySet();
for(Object o : names){
System.out.println(o);
}
System.out.println("----遍历所有\"值\"(元素值)----");
Collection values = hm.values();
for(Object o : values){
System.out.println(o);
}
}
}
class Person{
private final int id;
private String name;
private int age;
public Person(int id,String name,int age){
this.id = id;
this.name = name;
this.age = age;
}
public String toString(){
return "Id: " + id + "\tName: " + name + "\tAge: " + age;
}
}
输出结果如下:
----检索单个元素----
Id: 1008 Name: 李四 Age: 25
----遍历所有"键"(元素名)----
1001
1003
1008
1015
----遍历所有"值"(元素值)----
Id: 1001 Name: 赵六 Age: 49
Id: 1003 Name: 张三 Age: 15
Id: 1008 Name: 李四 Age: 25
Id: 1015 Name: 王五 Age: 73
疑问:hashMap不保证先后顺序,为什么ID号以能升序顺序输出???
请牛人赐教,谢谢...
import java.util.HashMap;
import java.util.Collection;
import java.util.Iterator;public class TestHashMap{
public static void main(String[] args) {
HashMap hm = new HashMap();
hm.put(new Integer(1003),new Person(1003,"张三",15));
hm.put(new Integer(1008),new Person(1008,"李四",25));
hm.put(1015,new Person(1015,"王五",73)); //自动封装
hm.put(1001,new Person(1001,"赵六",49)); System.out.println("----检索单个元素----");
Person p = (Person)hm.get(1008);
System.out.println(p);
System.out.println("----遍历所有\"键\"(元素名)----");
Set names = hm.keySet();
for(Object o : names){
System.out.println(o);
}
System.out.println("----遍历所有\"值\"(元素值)----");
Collection values = hm.values();
for(Object o : values){
System.out.println(o);
}
}
}
class Person{
private final int id;
private String name;
private int age;
public Person(int id,String name,int age){
this.id = id;
this.name = name;
this.age = age;
}
public String toString(){
return "Id: " + id + "\tName: " + name + "\tAge: " + age;
}
}
输出结果如下:
----检索单个元素----
Id: 1008 Name: 李四 Age: 25
----遍历所有"键"(元素名)----
1001
1003
1008
1015
----遍历所有"值"(元素值)----
Id: 1001 Name: 赵六 Age: 49
Id: 1003 Name: 张三 Age: 15
Id: 1008 Name: 李四 Age: 25
Id: 1015 Name: 王五 Age: 73
疑问:hashMap不保证先后顺序,为什么ID号以能升序顺序输出???
请牛人赐教,谢谢...
解决方案 »
- Java 向上转型的问题
- 单子设计模式的用途有哪一些?
- java里继承的优点和缺点
- 如何使用exec调用media player 打开特定url
- JTable的刷新问题
- 借宝地,Project2002 server,忘记了Administrator的密码,怎么才能找回?
- 困扰多时的一个线程和swing应用问题。
- javamail用pop3连接 自己域名下的pop3服务器如pop.myname.com怎么连接上呀
- websphere的问题,怎么在win2000下面,启动ibm http server无法启动,1069登陆错误
- JAVA如何在进程中启动一个线程
- 菜鸟 请教 字符串拆分
- 在java中实现由同一个工厂创建的类共用一个类变量,不用静态的话如何实现
这涉及到HashCode()。不用深究,反正你不要指望HashMap中的数据会按Key有序就行了。
多往map里面加些数据,你再试试看。