Java期末复习(二)----集合框架(Set接口、Iterator接口相关知识)

一、Set接口

(一)Set接口概述

        Set接口与上节List接口同属于Collection接口的常用子接口,其中存储的对象并不按特定的方式排序,无法保存重复的对象

        适用于存储唯一、无序的对象

        Set接口的常用的实现类HashSet

(二)使用HashSet类动态存储数据

         LinkedList接口适用于大量的增删操作,ArrayList接口虽然通过索引在查询方面具有很高的效率,但在没有索引的条件下,查询效率仍然存在缺点,Java集合框架提供了HashSet集合类来应对这种情况

        HashSet特点:

        1、集合内的元素时无序排列的

        2、HashSet是非线程安全的

        3、允许元素为null

  使用HashSet集合类实现上节新闻标题类的增删改查

/*
 * 使用HashSet类的常用方法存储操作新闻标题等信息
 */
package demo;
import java.util.*;
public class Part8_4 {
	public static void main(String args[]) {
		NewTitle car = new NewTitle(1,"汽车","管理员");
		NewTitle tech = new NewTitle(2,"科技","管理员");
		//创建存储新闻标题的集合对象
		Set Title = new HashSet();
		//按照顺序依次添加新闻标题
		Title.add(car);
		Title.add(tech);
		//获取新闻标题的总数
		System.out.println("新闻别提数目为"+Title.size()+"条。");
		//判断汽车新闻是否存在
		System.out.println("汽车新闻标题是否存在:"+Title.contains(car));
		Title.remove(car);
		System.out.println("汽车对象已经被删除。");
		System.out.println("判断集合是否为空集合:"+Title.isEmpty());
		//遍历所有新闻标题
		System.out.println("遍历所有新闻标题(增强for循环):");
		for(Object obj:Title) {
			NewTitle name = (NewTitle)obj;
			System.out.println("新闻标题:"+name.getTitleName());
		}
		System.out.println("遍历所有新闻标题(Iterator迭代器方法):");
		Iterator it = Title.iterator();				//获取集合对应的迭代器
		while(it.hasNext()){
			NewTitle title = (NewTitle)it.next();
			System.out.println("新闻标题:"+title.getTitleName());
		}
	}
}

补充,代码遍历两次,前一次采用增强for循环的方式,后一次采用Iterator接口提供的迭代器遍历的方式 

 二、Iterator接口

(一)Iterator接口概述

        Iterator接口为集合而生,专门用于遍历集合所用,常用以下方法:

        (1)hasNext()方法,用于判断是否存在下一个可访问元素,如果存在,则返回true

        (2)next()方法,返回下一个元素

(二)接口的使用示例    

        代码实例,通过Iterator方法遍历上节ArrayList接口创建的实例,后续复习章节,代码实例的遍历会根据情况采用不同的遍历方式,视情况而定。

/*
 * 使用Iterator迭代器,对集合进行遍历
 */
package demo;
import java.util.*;
public class Part8_5 {
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		ArrayList list = new ArrayList();
		list.add("张三");
		list.add("李四");
		list.add("王五");
		list.add(2,"亚瑟");
		System.out.println("使用Iterator遍历,分别是:");
		Iterator it = list.iterator();		//获取集合迭代器Iterator
		while(it.hasNext()) {
			String name = (String)it.next();
			System.out.println(name);
		}
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值