java集合框架的小问题

来源:百度知道 编辑:UC知道 时间:2024/05/18 01:01:45
import java.util.Map;
import java.util.HashMap;
import java.util.Set;
import java.util.Collection;
import java.util.Iterator;
class aaa{
public static void main(String args[]){
HashMap aa=new HashMap();
aa.put("1","java");
aa.put("2","VB");
aa.put("3","VC++");
//取出K和V的collection
Set k1=aa.keySet();
System.out.println("Key:");
Iterator aaaa=k1.iterator();
while(aaaa.hasNext()){
System.out.println(aaaa.next());
}
//取出与V相对应的K
Collection v=aa.values();
System.out.println("Values:");
Iterator bbbb=v.iterator();
while(bbbb.hasNext()){
System.out.println(bbbb.next());
}
//一一对应
Set k3=aa.entrySet();
Iterator cccc=k3.iterator();
while(cccc.hasNext()){
Map.Entry mp=(Map.Entry)cccc.next();
System.out.prin

因为HashMap一次次添加在对象内部并不是按照先后顺序添加的,我给你说说结果:
当只加第一个映射时,HashMap的打印结果是:
关键代码:
aa.put("1","java");
System.out.println(aa) ;
结果:
{1=java}
第二次:
aa.put("1","java");
aa.put("2","VB");
System.out.println(aa) ;
结果:
{2=VB, 1=java}
第三次:
aa.put("1","java");
aa.put("2","VB");
aa.put("3","VC++");
结果:
{3=VC++, 2=VB, 1=java}
第四次:
aa.put("1","java");
aa.put("2","VB");
aa.put("3","VC++");
aa.put("4","c++");
结果:
{3=VC++, 2=VB, 4=c++, 1=java}
第五次:
aa.put("1","java");
aa.put("2","VB");
aa.put("3","VC++");
aa.put("4","c++");
aa.put( "5","c");
结果