JavaSe——7、集合简介

xiaoxiao2021-02-28  84

集合

概念:

用于保存数量不确定数据以及有映射关系的数据,在java.util包下,只能保存对象。(数组可以保存基本类型和对象)。

集合类主要有Collection和Map两个接口派生出去。

家族关系图:

Collection接口:

Map接口:

更具体的图:

更更具体的图: https://img-blog.csdn.net/20160124221843905 from http://blog.csdn.net/u010887744/article/details/50575735

整体介绍:

Collection派生出的子接口有Set、List和List,其中Set代表无序集合,即没有序号,因此不可重复,只能通过值来获取元素。List代表有序集合,可以重复,通过序号来区分,可以通过序号来获取元素。

Map保存的是键值对,也就是一个key到value的映射,key不可重复,value可以。

Collection

public interface Collection<E> extends Iterable<E> {}

成员:

Collection接口继承了Iterable接口,Collection的子类(子接口)都拥有(规定了)这些方法,包括常用的add、size、iterator等。

Iterator

又名迭代器,用来遍历Collection集合中的元素。

hasNext();next();remove();迭代的两种: Collection books = new HashSet(); Iterator it = books.iterator(); while(it.hasNext){ String book = (String)it.next(); } 迭代时不能改变books的内容,否则引发异常。 Collection books = new HashSet(); for(String a :books){ syso(a); } 在迭代集合的时候,尽量用iterator迭代,而不要用如下这种: for(int i = 0;i<list.size();i++){ if(list.get(i)>5){ list.remove(i); } }

可以看到,迭代时修改迭代对象是不允许的,iterator会报fast-fail错误,而这种则不会报错。

集合类也可以分为Set、List和Map三种。

转载请注明原文地址: https://www.6miu.com/read-56158.html

最新回复(0)