您的位置:首页 > 编程语言 > Java开发

java.util包下的三中集合 及 Iterator接口

2013-07-14 10:17 579 查看
java.util包

Collection接口、List接口、Set接口、Map接口(Iterator接口)

集合可以理解为用来在内存中存放一组对象的容器,java中有三种集合类:

(1)List 来自Collection接口,实现类有序可重复,集合中的每一个对象都有一个惟一的顺序位置,通过它们的下标表示出来,遍历的时候可以按照它们的下标顺序逐一访问。主要有ArrayList、LinkedList、Vector三种实现类。

(2)Set 来自Collection接口,实现类无序不可重复,也就是说集合中的对象无序且互异,可以通过迭代的方式进行遍历。主要有HashSet、TreeSet两种实现类。(往集合中添加元素时,如果有重复的元素会被覆盖掉)

(3)Map 实现类里存放键值对(映射)。一种对象称为key,一种称为value,其中key不能重复,但value能重复,由于存放的对象数量与上面两种不同,所以在选择使用Map时是很方便的,遍历Map时可以先用迭代器得到key,再通过key与value的对应得到value。主要有HashMap、HashTale、TreeMap三种实现类。(key不能重复,其实实质上和集合Set是一样的,添加元素(key)重复,也会覆盖)

附:数组与集合的区别:

数组用于存储统一类型的数据,有固定的长度;集合可以存储不同类型的数据,没有固定的大小。

Iterator接口实现类是获取集合中元素的过程,实际上帮助获取集合中的元素。也就是通过迭代实现遍历集合中的元素。

起有三种方法:hasNext() 如果仍有元素可以迭代,则返回 true。

next() 返回迭代的下一个元素。

remove() 从迭代器指向的集合中移除迭代器返回的最后一个元素(可选操作)。

下面举一个Map用迭代遍历的例子:

import java.util.HashMap;

import java.util.Iterator;

import java.util.Map;

import java.util.Set;

public class MapTest {

public void testMap(){

//创建一个集合map

Map<Integer, String> map = new HashMap<Integer,String>();

map.put(1, "aaa");

map.put(2, "bbb");

map.put(3,"ccc");

map.put(2, "ddd");

System.out.println(map);

//获取key集合(Set)

Set<Integer> set = map.keySet();

Iterator<Integer> it = set.iterator();

while(it.hasNext()){

int key = it.next();

//通过key获取对应的value值

String value = map.get(key);

System.out.println("key="+key+" value="+value);

}

}

//主函数 实现程序

public static void main(String[] args) {

Test test = new Test();

test.testMap();

}

}

运行结果: {1=aaa, 2=ddd, 3=ccc}

key=1 value=aaa

key=2 value=ddd

key=3 value=ccc

实验小结: 由结果可看出,遍历Map可以用迭代先找出key的值,再通过key找出value的值;

输入的(2,"aaa")被(2,"ddd")覆盖掉了;

迭代遍历元素的方法。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐