Java集合(一)集合的概述

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_42738043/article/details/85127242

1、什么是集合:

  • 为了保存数量不确定的数据,以及保存具有映射关系的数据(也被称为关联数组)。Java提供集合类,集合类主要负责保存、盛装其他数据,因此集合类也被称为容器类
  • 所有集合类都位于java.util包下
  • Java的集合类主要由两个接口派生而出:CollectionMapCollectionMapJava集合框架的根接口,这两个接口又包含了一些子接口或实现类。
  • 集合存放的都是对象的引用,而非对象本身。所以我们称集合中的对象就是集合中对象的引用

    简单来讲:集合就是一个放数据的容器,准确的说是放数据对象引用的容器。

2、Java 集合框架主要结构图

  • Collection接口是ListSetQueue接口的父接口,该接口里定义的方法既可用于操作Set集合,也可用于操作ListQueue集合
  • Collection提供了大量添加、删除、访问的方法来访问集合元素
  • List被AbstractList实现,然后分为3个子类,ArrayList,LinkList和Vector
  • Set被AbstractSet实现,又分为3个子类,HashSet,EumSet和SortedSet
Collection集合体系的继承树
Map集合体系的继承树

3、Iterator接口

  • Iterator接口:迭代器,它是Java集合的顶层接口,也是Java集合框架的成员,但它与Collection系列、Map系列的集合不一样:Collection系列集合、Map系列集合主要用于盛装其他对象,而Iterator则主要用于遍历(即迭代访问)Collection集合中的元素,Iterator对象也被称为迭代器。 
  • Iterator接口里定义了如下4个方法:

    –boolean hasNext():如果被迭代的集合还元素没有被遍历,则返回true。
    
    –Object next():返回集合里下一个元素。
    
    –void remove() :删除集合里上一次next方法返回的元素
    
    –void forEachRemaining(Consumer action),这是Java 8为Iterator新增的默认方法,该方法可使用Lambda表达式来遍历集合元素。

     这里我们使用Iterator遍历集合元素

    public class IteratorTest
    {
    	public static void main(String[] args)
    	{
    		// 创建集合、添加元素的代码与前一个程序相同
    		Collection books = new HashSet();
    		books.add("轻量级Java EE企业应用实战");
    		books.add("疯狂Java讲义");
    		books.add("疯狂Android讲义");
    		// 获取books集合对应的迭代器
    		Iterator it = books.iterator();
    		while(it.hasNext())
    		{
    			// it.next()方法返回的数据类型是Object类型,因此需要强制类型转换
    			String book = (String)it.next();
    			System.out.println(book);
    			if (book.equals("疯狂Java讲义"))
    			{
    				// 从集合中删除上一次next方法返回的元素
    				it.remove();
    			}
    			// 对book变量赋值,不会改变集合元素本身
    			book = "测试字符串";   //①
    		}
    		System.out.println(books);
    	}
    }
    

Java集合(二)Set集合详解:https://blog.csdn.net/weixin_42738043/article/details/85156465

猜你喜欢

转载自blog.csdn.net/weixin_42738043/article/details/85127242