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

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")覆盖掉了;
             迭代遍历元素的方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值