Collection、Iterator、Set、HashSet

Collection接口的基本方法


boolean add(Object o)


向集合当中加入一个对象


void clear()


删除集合当中的所有对象


boolean isEmpty()


判断集合是否为空


remove(Object o)


从集合中删除一个对象的引用


int size()


返回集合中元素的数目

Set接口继承了Collection接口的上述方法,HashSet类实现了Set接口

import java.util.Set;
import java.util.HashSet;

class Test{
	public static void main(String args[]){
		Set<String> hs = new HashSet<String>();
		System.out.println(hs.isEmpty());//判断是否为空
		hs.add("a");
		hs.add("b");
		hs.add("c");
		hs.add("d");
		hs.add("c");//重复添加c
		System.out.println("hs对象长度为" + hs.size());
		hs.remove("d");//移除d
		System.out.println("remove之后为" + hs.size());
		hs.clear(); //清空
		System.out.println("clear之后为" + hs.size());
	}
}

List中的对象可以使用下标来读取,但由于Set中的对象不按特定的顺序排序,所以不能使用下标的方式读取集合的数据,我们通过迭代器Iterator来遍历Set中的数据。

Set是Collection的子接口,而Collection又是Iterator的子接口。Itreator接口的常用方法有hasNext()、next(),迭代器的模型如下:

箭头代表游标,方框代表对象,当迭代器对象调用hasNext()方法时,返回值为布尔值,判断游标之后有没有下一个对象,有就返回true。当调用next()时,返回游标所指的下一个对象,同时游标向后移动一位

import java.util.Set;
import java.util.HashSet;
import java.util.Iterator;

class Test{
	public static void main(String args[]){
		Set<String> hs = new HashSet<String>();
		hs.add("b");
		hs.add("d");
		hs.add("a");
		hs.add("c");
		//调用Collection接口的iterator方法生成迭代器对象it
		Iterator<String> it = hs.iterator();
		while(it.hasNext()){
			System.out.println(it.next());
		}
	}
}

时间: 2024-08-05 19:54:43

Collection、Iterator、Set、HashSet的相关文章

day191、集合 2、Iterator迭代器 3、增强for循环 4、泛型

今日内容介绍 1.集合 2.Iterator迭代器 3.增强for循环 4.泛型 =======================第一节课开始============================================= ###01集合使用的回顾 *A:集合使用的回顾 *a.ArrayList集合存储5个int类型元素 public static void main(String[] args) { ArrayList<Integer> list = new ArrayList<

【java读书笔记】——Collection集合之六大接口(Collection、Set、List、Map、Iterator和Comparable)

两个月之前准备软考时,简单的从理论上总结了最经常使用的数据结构和算法,比方:线性表,链表,图.在进行java开发时,jdk为我们提供了一系列对应的类来实现主要的数据结构.jdk所提供的容器API位于java.util包内.本文主要是通过简单的介绍Collection集合,向读者简单阐述各个类的基本定义以及其作用,为后面的学习做一下铺垫. 首先,我们先看一下Collection集合的基本结构: 1.Collection接口 Collection是最基本集合接口,它定义了一组同意反复的对象.Coll

Vector、Enumeration、ArrayList、Collection、Iterator、Set、List等集合类接口

在Java编程中,经常会用到Vector.Enumeration.ArrayList.Collection.Iterator.Set.List等集合类接口. 1.  Vector类与Enumeration接口Vector类是Java语言提供的一种高级数据结构,可用于保存一系列对象,Java不支持数组,Vector类提供了一种与"动态数组"相近的功能.如果我们不能预先确定要保存的对象的数目,或是需要方便获得某个对象的存放位置时,Vector类都是一种不错的选择. 2.Collection

Collection集合之六大接口(Collection、Set、List、Map、Iterator和Comparable)

两个月之前准备软考时,简单的从理论上总结了最常用的数据结构和算法,比如:线性表,链表,图.在进行Java开发时,jdk为我们提供了一系列相应的类来实现基本的数据结构.jdk所提供的容器API位于java.util包内.本文主要是通过简单的介绍Collection集合,向读者简单阐述各个类的基本定义以及其作用,为后面的学习做一下铺垫. 首先,我们先看一下Collection集合的基本结构: 1.Collection接口 Collection是最基本集合接口,它定义了一组允许重复的对象.Collec

Collection、Iterator、泛型初步

java.util.Collection 集合层次的根接口 java.util.List extends Collection ArrayList implements List 常用方法 boolean add(E e) //添加元素 boolean remove(Object o) //删除元素 void clear() //清空元素 boolean contains(Object o) //判断是否包含某元素 boolean isEmpty() //判断是否为空 int size() //

Java容器(List、Map、Set、Iterator)

容器是一个Java 所编写的程序,原先必须自行编写程序以管理对象关系,现在容器都会自动帮您做好. List特点:元素有放入顺序,元素可重复 Set特点:元素无放入顺序,元素不可重复(注意:元素虽然无放入顺序,但是元素在set中的位置是有该元素的HashCode决定的,其位置其实是固定的) Map特点:元素按键值对存储,无放入顺序 . 一.List接口 ArrayList:线程不安全,效率高. 底层实现是数组,查询块,修改删除慢. LinkedList: 线程不安全,效率高. 底层实现是链表,查询

集合中list、ArrayList、LinkedList、Vector的区别、Collection接口的共性方法以及数据结构的总结

List (链表|线性表) 特点: 接口,可存放重复元素,元素存取是有序的,允许在指定位置插入元素,并通过索引来访问元素 1.创建一个用指定可视行数初始化的新滚动列表.默认情况下,不允许进行多项选择. 注意,这是 List(rows, false) 的一种便捷方法.还要注意,列表中的可视行数一旦创建就不能更改. public List(int rows)------------------row-----要显示的项数 2.创建一个初始化为显示指定行数的新滚动列表. 注意,如果指定了零行,则会按默

java基础(18):集合、Iterator迭代器、增强for循环、泛型

1. 集合 1.1 集合介绍 集合,集合是java中提供的一种容器,可以用来存储多个数据. 在前面的学习中,我们知道数据多了,可以使用数组存放或者使用ArrayList集合进行存放数据.那么,集合和数组既然都是容器,它们有啥区别呢? 数组的长度是固定的.集合的长度是可变的.集合中存储的元素必须是引用类型数据 1.2 ArrayList集合存储元素 练习一:ArrayList集合存储5个int类型元素 public static void main(String[] args) { ArrayLi

Java的集合、Iterator迭代器

1.集合(1)集合存储的元素必须是引用类型数据[自动装箱(基本类型->包装类)]jdk1.5版本之后 建立一个  demo01  类 package com.oracle.demo01; public class demo01 { private String name; private Integer age; public demo01() { super(); } public demo01(String name, Integer age) { super(); this.name =