java集合框架和Iterator迭代器相关方法
来源:互联网 发布:交易数据和交互数据 编辑:程序博客网 时间:2024/06/06 02:26
1. 集合框架
1. Collection
java提供了一种可以存数一组数据的数据结构,其提供了丰富的方法,在实际开发中往往比数组使用的广泛。这种数据结构成为集合:Collection。
Collection是一个接口,其定义了集合的相关功能方法。
Collection 提供了遍历集合的通用方式--迭代器(Iterator)
获取迭代器的方式是使用Collection定义的方法:
1.1. addAll与containsAll方法
集合也提供了批处理操作:
addAll方法用于将给定集合中的所有元素添加到当前集合中,其方法定义为
1)addAll(Collectionc)参数放一个集合 返回值为boolean类型
containsAll方法用于判断当前集合是否包含给定集合中的所有元素,若包含则返回true。其方法定义为:
1)containsAll(Collectionc)同addAll(参数放一个集合 返回值为boolean类型)
/**
* 集合的集合操作
* @author Administrator
*
*/
public class CollectionDemo2 {
public static void main(String[] args) {
Collection<String> c1 = new ArrayList<String>();
c1.add("java");
c1.add("c");
c1.add(".net");
System.out.println("c1:"+c1);
Collection<String> c2 = new HashSet<String>();
c2.add("android");
c2.add("ios");
c2.add("java");
System.out.println("c2:"+ c2);
/*
*boolean addAll(Collection c)
*将给定的集合中的元素存入到当前集合中
*当前集合元素发生了变化则返回true
*/
c2.addAll(c1);
System.out.println("添加c1集合后的c2(HashSet):"+c2);
Collection<String> c3 = new ArrayList<String>();
c3.add("c");
c3.add("ios");
System.out.println("c3:"+c3);
/*
* boolean containsAll(Collection c)
* 判断当前集合是否包含给定集合中的所有元素
*
*/
boolean flag = c2.containsAll(c3);
System.out.println("c2中是否含有c3的所有元素:"+flag);
/*
* boolean removeAll(Collection c)
*/
c2.removeAll(c3);
System.out.println("c2:"+c2);
}
}
2. Iterator 迭代器
Iterator:
Collection 提供了遍历集合的通用方式--迭代器(Iterator)
获取迭代器的方式是使用Collection定义的方法:
1)Iteratoriterator()
解释:Iterator是一个接口,集合在覆盖Collection的Iterator的方法时提供迭代器的实现
1.1. hasNext与next方法
迭代器用于遍历集合的两个主要方法:
- boolean hasNext():判断集合是否还有元素可以遍历。
- E next():返回迭代的下一个元素
遍历集合应遵循“先问后取”的方式,也就是说,应当在确定hasNext()方法的返回值为true的情况下再通过next()方法取元素。
由此可以看出,使用迭代器遍历集合是通过boolean值驱动的,所以它更适合使用while循环来遍历 参考代码如下:
Collection<String> c = new HashSet<String>();
c.add("java");
c.add("cpp");
c.add("php");
c.add("c#");
c.add("objective-c");
Iterator<String> it = c.iterator();
while (it.hasNext()) {
String str = it.next();
System.out.println(str);
}1.2. remove方法
c.remove(str);
迭代器的remove会删除通过next
方法取出的元素- ☆ 注意:在使用迭代器遍历集合元素的过程中,不能通过集合的方法增删元素否则会引发迭代器遍历集合的异常
- 代码如下:(自敲简单演示代码)
- import java.util.Collection;
import java.util.HashSet;
import java.util.Iterator;
/**
* 遍历集合元素
*
*
* @author Administrator
*
*/
public class Collection_iterator {
public static void main(String[] args) {
Collection<String> c = new HashSet<String>();//无序且不重复
c.add("java");
c.add("cpp");
c.add("php");
c.add("c#");
c.add("objective-c");
c.add("#");
Iterator<String> it = c.iterator();
while (it.hasNext()) {
String str = (String)it.next();
System.out.println(str);
if("#".equals(str)){
/*
* 在使用迭代器遍历集合元素的过程
* 中,不能通过集合的方法增删元素
* 否则会引发迭代器遍历集合的异常
*
*/
// c.remove(str);
/*
* 迭代器的remove会删除通过next
* 方法取出的元素
*/
it.remove();
}
}
System.out.println(c);
}
} - 红色字体部门均为重点内容,可以侧重记录一下。
阅读全文
0 0
- java集合框架和Iterator迭代器相关方法
- 集合框架方法和迭代器Iterator
- Java 集合 和 Iterator迭代器
- java集合框架-List和Set和相关的方法
- JAVA 集合框架 共性方法和迭代器
- java集合框架系列---Iterator和Enumeration比较
- Java基础-集合框架2 Collection和Iterator接口
- Java类集框架——Iterator和ListIterator 迭代器的使用(遍历集合)
- Java集合迭代器 Iterator
- java集合与数组遍历-iterator和for方法
- 使用Java实现面向对象编程--集合框架-->迭代器Iterator
- Java——集合框架之ArrayList,LinkedList,迭代器Iterator
- JAVA集合框架——Iterator
- java集合之迭代器Iterator
- Java集合迭代器 Iterator分析
- java List集合,迭代器iterator
- java-Iterator(迭代器)遍历集合
- java集合框架中几个接口的常用方法(List,LinkedList,Map,Iterator)
- maven 启动时包tests 错
- 开关VoLTE流程分析(一)
- 将后台ajax请求的数据打包写入文件
- dfdfjdjj
- 在Salesforce中使用Code Lock记录或判断记录是否被锁定及异常处理
- java集合框架和Iterator迭代器相关方法
- 远程访问mysql只显示test和information_schema两个库
- springmvc异常拦截器
- 20个命令行工具监控 Linux 系统性能
- Linux趣事 -- (2.2)学生信息管理系统
- 第8章 基本UDP套接字编程
- C++调用Python浅析
- Codeforces-652D : Nested Segments(线段树)
- 开关VoLTE流程分析(二)