集合
在java中,如果我们想把一些类似的数据元素存放起来,就像将相同种类的数据存放在数组中一样,需要一些容器来做,这种容器我们可以分为三类。
Set接口:
Set接口是一种最简单的接口,集中不能有重复的对象,且其中元素的排列是无序的。对此集中对象的操作和访问是通过引用搞定的。具体用法如下:
Set <String> se= new HashSet <String>();
String [] bb={"我是第一个","我是第二个","我是第三个","我是第四个"};
//用add方法添加元素
for(int i=0;i<4;i++){
se.add(bb[i]);
}
由于set中的元素是无序排列的所以没有相应的get方法我们要用迭代器搞定
//利用迭代器来输出set集合中的元素
//获取迭代器
Iterator <String> ii=se.iterator();
while(ii.hasNext()){
//hasNext();来判断set集合中是否还有其他元素
String aa=ii.next();
System.out.println(aa);
在删除对象的时候,如果我们删除了当前对象,那么它的hasNext就没有了。。。造成了set集合没有遍历完成,所以,我们要建造一个set集合用来存放这些要删除的元素,最有用set.remove();方法来删除元素。
List接口:
List接口没有特定的顺序,只有一个开头和一个结尾,其主要特征是以线性方式存储对象。具体用法和set接口类似,如果大家做过自定义队列,那么List接口的基本用法和List队列是相同的,遍历元素的方法可以根据List的深度利用循环遍历。
Map接口:
Map接口没有父类,map中存放的数据都是一对一对的,每个对象和它的名字(key)联系在一起,map中存放的是两种对象,一种称为key即键,一种称为value即值。这一对一对的数据项又被称为Entry(项)。Map中的键不可以重复,但是值可以重复。具体用法如下:
MapTest mt= new MapTest();
Map m= new HashMap();
String [] bb={"我是第一个","我是第二个","我是第三个"};
int [] aa={1,2,3};
/ /map中添加元素用到了put
for(int i=0; i<3;i++){
m.put(aa[i], bb[i]);
}
//得到元素的方法可以用map.get(key);的方法。要得到key的值,先要将
//key的值通过getkey();方法搞到一个set集合中,利用迭代器得到具
//体的key值,然后在移除;
m.keySet();
Set <String> se=new <String> HashSet();
se.addAll(m.keySet());//这时候set中存放的就是map中的各个key值
//然后我们就用想set方法中的迭代的方法搞定得到与删除元素。
目前的理解还比较浅显,有什么不对的地方欢迎大家指正。。。