JAVA---------集合(二)
来源:互联网 发布:java 网络爬虫demo 编辑:程序博客网 时间:2024/05/17 21:02
一、Iterator
上一篇学习了集合的简单概念,这一节来学习一个新的方法:iterator()方法。对于Collection接口的实现类来说由于其具体作用和实 现的不同导致我们遍历他们的方法不能很好的统一。但是JAVA给我们提供了一个方案。通过集合接口的实现类对象的iterator方法可以返回对 其自己(该实现类)的遍历对象, 返回的对象赋给Iterator接口的引用,也就是是通过父类引用来指向子类对象。通过该对象对象封装的方法我们就可以遍历整个集合了,Iterator也被称为迭代器。
通过一个简单的代码了解下它的简单使用。
package CollectionDemo;
import java.util.*;//与集合有关的类借口或类都保存在java.util包下
public class IteratorDemo {
public static void main(String[] args){
/*
* Set接口的特点是里面保存的对象是无序且不能重复的
* HashSet是Set接口的一个实现类。
* */
Collection data=new HashSet();//HashSet是用Hash表实现的Set.
data.add(new Person("xiaoming",11,"nan"));
data.add(new Person("xiaozhang",12,"nan"));
data.add(new Person("xiaohong",13,"nv"));
// data.add(new Person("xiaohong",13,"nv"));
/*
* 通过集合借口的实现类对象的iterator方法可以返回对 其自己(该实现类)的遍历对象
* 返回的对象赋给Iterator接口的引用,也就是是通过父类引用来指向子类对象。
* 我们可以通过data.iterator()方法返回类里的一些方法对该集合进行相应的遍历操作。
*
**/
Iterator iterator=data.iterator();
while(iterator.hasNext())
{
Person person=(Person)iterator.next();
System.out.println(person);
person=null;
}
}
}
//定义一个Person类
class Person{
private String name;
private int age;
private String sex;
public Person(String mname,int mage, String msex){
this.name=mname;
this.age=mage;
this.sex=msex;
}
@Override
public String toString() {
return "Person [name=" + name + ", age=" + age + ", sex=" + sex + "]";
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
}
这里我们注意到两个新的方法。hasNext(),next(),这两个方法都是迭代器对象给我们提供的。
hasnext():判断集合的下一个位置是否有元素,其返回值是一个布尔类型的值。如果有则返回true,反之false。
next():返会集合下一个对象的值,并将指针后移一位。
通过一个不停的判断,取值。就可以简单的遍历整个集合。
注意:通过迭代器实现遍历。会给集合对象上锁,只有持有该锁的对象才可以对集合进行操作。锁的相关知识在线程那节会有详细的讲解。
二、增强的for循环
import java.util.*;
public class EnchancedDemo {
public static void main(String[] args) {
Set set=new HashSet();
set.add("A");
set.add("B");
set.add("C");
for(Object o:set){
System.out.println(o);
//set.remove("A");
}
System.out.println(set);
}
}
- java集合(二)
- Java集合(二)
- Java集合(二)
- JAVA---------集合(二)
- Java集合概述(二):List集合
- Java集合(二)List集合
- Java集合简述(二)
- Java集合总结(二)
- JAVA集合类型(二)
- java-集合类(二)
- JAVA集合(二)-ArrayList
- Java集合详解(二)
- JAVA 集合(二)--collection
- Java集合框架(二)
- Java集合总结(二)
- Java集合-ArrayListy(二)
- java集合框架(二)
- Java再学习-java集合(二)
- Hadoop Yarn调度器的选择和使用
- js面向对象选项卡(this的使用)
- 开发语言大PK:php和Java哪个更好?
- burpsuite学习——手机抓包
- 大数据-ubuntu16.04上Hadoop安装教程_单机配置
- JAVA---------集合(二)
- 新路程------hi35516a kernel导入spi flash
- tp中,用户实现将Excel表格内容添加到数据库中
- Unity 5.6.2f1 中的Physic Material资源包在哪
- 七牛云上传工具
- Java学习篇4-流程控制与数组
- 【DL--02】深度学习基本概念--符号计算
- 关于文件(软件)签名问题的理解
- 宏基因组公众号14天受邀原创-诚邀同行共享研究经验