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 byte范围大于127,socket传送给c#,c#中byte怎么获得?
- 请问用final修饰的String,最大的容量是多大?
- 怎么样避免连接池枯竭
- tableviewer中不用鼠标点击怎样获得celleditor的焦点
- 获得所有panel上的label怎么写啊?
- 高分, 高难度问题, 请帮助(和classloader) 有关。
- 这样的对齐方式的人工实现的还是软件实现的?
- 求救!如何实现在jbutton单击事件中改变jbutton本身的值??(在线给分,谢谢)
- 为什么我每次用UpdateUI刷新JTree时都有错?
- 昏头了!关于Overriding的问题!
- 菜鸟 请教 字符串拆分
- 在java中实现由同一个工厂创建的类共用一个类变量,不用静态的话如何实现
这涉及到HashCode()。不用深究,反正你不要指望HashMap中的数据会按Key有序就行了。
多往map里面加些数据,你再试试看。