集合框架

1.Set,List

首先,Set和List都是Collection的子接口.而这当中又有许多的实现类,如:HashSet,ArrayList等等;

Collection是把一些数据存储在存储器中以后,通过特定的方式来访问这些数据.

1).

HashSet<String> sets = new HashSet<String>();
sets.add(new Integer(5));
sets.add(new Integer(1));
sets.add(new Integer(100));
sets.add(new Integer(5));

//遍历
for(int num : sets){
	System.out.print(num + " ");
}

// 遍历输出的结果:1 100 5

 

可以看出:Set存放在里面的元素没有顺序(无序),当中的元素也能不重复....与数学上定义的集合有许多的相似之处.

同时而对于两组一样的元素,其在存储器中存储的顺序是一样的.

 

2). List是队列的意思,即当中的顺序是一定的,以该方式存储的数据是有序的,即先进入的数据存放在前面,后进入的数据存放在后面,也允许元素重复出现,以线性的方式存储.

ArrayList<String> list = new ArrayList<String>();

		list.add("元素" + 12);
		for (int i = 10; i > 0; i--) {
			String s = "元素" + i;
			list.add(s);
		}
		list.add("元素" + 11);
		// 遍历
		for (String str : list) {
			System.out.print(str + "\t");
		}
		// 遍历输出为:元素12 元素10 元素9 元素8 元素7 元素6 元素5 元素4 元素3 元素2 元素1 元素11

  因为其是线性结构存储的,故还能通过下标对其进行访问.

 

for (int i = 0; i < list.size(); i++) {
			// 根据下标取出一个元素
			String str = list.get(i);
			System.out.print(str + "\t");
		}

 

 

2.Map

Map是以键-值对的方式来存储数据,即建立起一种一一对应的关系,使一个关键值对应一个指定的数据,即一个key值对应一个value值.其中所有的key组成的是一个Set集,即key值是不可重复的,也是无序的.如果加入key相同的键-值对,则会替换已经存在的键-值对.

HashMap<Integer, String> maps = new HashMap<Integer, String>();
		maps.put(1, "元素1");
		maps.put(2, "元素2");
		maps.put(3, "元素3");
		maps.put(100, "元素4");
		Set<Integer> set = maps.keySet();
		Iterator<Integer> iter = set.iterator();
		// 遍历
		while (iter.hasNext()) {
			int num = iter.next();
			String ele = maps.get(num);
			System.out.print(num + " " + ele + "\t");
		}
		// 此处遍历得到的序列为:1 元素1 100 元素4 2 元素2 3 元素3
		maps.put(1, "元素5");
		maps.put(3, "元素6");
		Iterator<Integer> iter2 = set.iterator();
		// 遍历
		while (iter2.hasNext()) {
			int num = iter2.next();
			String ele = maps.get(num);
			System.out.print(num + " " + ele + "\t");
		}
		// 此处遍历得到的序列为:1 元素5 100 元素4 2 元素2 3 元素6

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值