package com.zhiru;
import java.util.HashSet;
import java.util.LinkedHashSet;
import java.util.Map.Entry;
import java.util.Set;
import java.util.Map;
import java.util.HashMap;
import java.util.Iterator;
public class MyCollection {
/**
* @param args
*/
/*
* 一个关于HashSet的简单应用.
* 从输出结果可以看出HashSet中元素是无序的,至少是不是恒久不变的。
* 而LinkedHashSet中的元素是有序的。
* 两者元素都不可以重复.
* HashMap中key是不允许重复的,但值允许重复。
* 从HashMap的输出可以看出,它也是输出无序的.
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
/*
* 定义上转型Set对象
*/
Set<Integer> intSet=new HashSet<Integer>();
Set<String> strHashSet=new HashSet<String>();
Set<String> strSet=new LinkedHashSet<String>();
//定义上转型Map对象。
Map<String,Integer> map=new HashMap<String ,Integer>();
for(int i=0;i<50;i++){
intSet.add(i);//添加元素
strSet.add(String.valueOf(i));
strHashSet.add(String.valueOf(i));
//put方法设置键值对
map.put(String.valueOf(i), i+1);
}
/*
* 集合中使用迭代器遍历集合.
*/
Iterator<Integer> it1=intSet.iterator();
Iterator<String> it2=strSet.iterator();
Iterator<String> it3=strHashSet.iterator();
Iterator hashMapIt=map.entrySet().iterator();
while(it1.hasNext()){
System.out.print(it1.next());
}
System.out.print("\n");
while(it2.hasNext()){
System.out.print(it2.next());
}
System.out.print("\n下面是String类型的HashSet的输出\n");
while(it3.hasNext()){
System.out.print(it3.next());
}
System.out.print("\n"+map+"\n");
System.out.print(map.get("1"));
System.out.print("\n使用高效率的遍历方式遍历HashMap\n");
/*
*高效的遍历HashMap方法。
*/
while(hashMapIt.hasNext()){
Map.Entry<String, Integer> e=(Map.Entry<String, Integer>) hashMapIt.next();
String key=e.getKey();
Integer val=e.getValue();
System.out.print("\n"+key+"---"+val+"\n");
}
}
}
012345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
012345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
下面是String类型的HashSet的输出
444546474849101112131415161718190123456789202122232425262728293031323334353637383940414243
{44=45, 45=46, 46=47, 47=48, 48=49, 49=50, 10=11, 11=12, 12=13, 13=14, 14=15, 15=16, 16=17, 17=18, 18=19, 19=20, 0=1, 1=2, 2=3, 3=4, 4=5, 5=6, 6=7, 7=8, 8=9, 9=10, 20=21, 21=22, 22=23, 23=24, 24=25, 25=26, 26=27, 27=28, 28=29, 29=30, 30=31, 31=32, 32=33, 33=34, 34=35, 35=36, 36=37, 37=38, 38=39, 39=40, 40=41, 41=42, 42=43, 43=44}
2
使用高效率的遍历方式遍历HashMap
44---45
45---46
46---47
47---48
48---49
49---50
10---11
11---12
12---13
13---14
14---15
15---16
16---17
17---18
18---19
19---20
0---1
1---2
2---3
3---4
4---5
5---6
6---7
7---8
8---9
9---10
20---21
21---22
22---23
23---24
24---25
25---26
26---27
27---28
28---29
29---30
30---31
31---32
32---33
33---34
34---35
35---36
36---37
37---38
38---39
39---40
40---41
41---42
42---43
43---44