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

几个JAVA集合中常用的接口学习:Collection、Iterator和Map

2016-12-21 23:25 936 查看

几个JAVA集合中常用的接口学习:Collection、Iterator和Map

集合可以理解为一个动态的对象数组,不同的是集合中的对象内容可以任意扩充,它具有以下几个特点:

性能高

容易扩展和修改

一、Collection接口

常用的子类:

List

Set

Quene

注意:学习的过程应该习惯查看java的API文档,这是相当好的学习习惯!

1、List接口

List接口可以存放任意的数据,而且List接口中的内容可以重复

它的常用子类有ArrayList、Vector等

常用的操作有:

判断集合是否为空:boolean isEmpty()

查找指定的对象是否存在: int indexOf(Object o)

ArrayList和Vector的比较:



List代码示例:

List<String> list = null;
list = new Vector<String>();//或者ArrayList
list.add("A");
list.add("B");
list.add("C");

for(int i = 0;i<list.size();i++){
System.out.println(list.get(i));

}
System.out.println("-----------------------------------------");
list.remove(1);

for(int i = 0;i<list.size();i++){
System.out.println(list.get(i));
}
System.out.println("集合是否为空:"+list.isEmpty());
System.out.println("B是否存在:"+list.indexOf("B")); //返回此列表中第一次出现的指定元素的索引;如果此列表不包含该元素,则返回 -1。
}


2、Set接口

Set接口中不能加入重复元素,但是可以排序。

Set常用子类:

散列存放:HashSet

有序存放:TreeSet

Set示例,根据这个示例可以比较一下HashSet和TreeSet的区别:

Set<String> set1= null;

set1 = new TreeSet<String>();

set1.add("A");
set1.add("B");
set1.add("C");
set1.add("D");
set1.add("E");
set1.add("F");
set1.add("G");
System.out.println(set1);

Set<String> set2= null;

set2 = new HashSet<String>();

set2.add("A");
set2.add("B");
set2.add("C");
set2.add("D");
set2.add("E");
set2.add("F");
set2.add("G");
System.out.println(set2);


结果输出:

[A, B, C, D, E, F, G]
[D, E, F, G, A, B, C]


二、Iterator接口

集合输出的标准操作:标准的做法是使用当前这个Iterator接口进行迭代输出

操作的原理是这样的:

Iterator是专门的迭代输出接口,就是指将元素一个个的进行判断,判断其是否有内容,如果有内容的话把内容取走,即下图中所示的一个过程:



Iterator的常用的几种方法:



常见用法:

List<String> list = null;
list = new ArrayList<String>();
list.add("A");
list.add("B");
list.add("C");

/*
for(int i = 0;i<list.size();i++){
System.out.println(list.get(i));

}
*/

Iterator<String> iterator = list.iterator();
while (iterator.hasNext()) {
System.out.println(iterator.next());
}


三、Map接口

保存的形式

key - value的键值对形式保存,例如:小凯-18753202373

简单应用实例:

Map<String, String> map = null;
map = new HashMap<String, String>();
map.put("key1", "wikey");
map.put("key2", "目前");
map.put("key3", "工作在");
map.put("key4", "青岛");
map.put("key5", "国瑞");

if(map.containsKey("key1")){
System.out.println("key存在");
}else{
System.out.println("key不存在");
}
if(map.containsValue("wikey")){
System.out.println("value存在");
}else{
System.out.println("value不存在");
}
//遍历一下key
Set<String> setKey = map.keySet();
Iterator<String> iterator = setKey.iterator();
while (iterator.hasNext()) {
System.out.println(iterator.next());
}
System.out.println("---------------------------");
//遍历一下value
Collection< String > valueCollection = map.values();
Iterator<String> iterator2 = valueCollection.iterator();
while (iterator2.hasNext()) {
System.out.println(iterator2.next());
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java 集合
相关文章推荐