首页 > 编程 > Java > 正文

Java学习之容器

2019-11-06 06:50:44
字体:
来源:转载
供稿:网友

我们都站在巨人的肩膀上

参考:http://www.cnblogs.com/forestwolf/p/5645179.html


1.容器概述

容器,就是可以容纳其他java对象的对象。Java容器里只能放对象,对于基本类型(int, long, float, double等),需要将其包装成对象类型后(Integer, Long, Float, Double等)才能放到容器里

优点:

降低编程难度提高程序性能提高API间的互操作性降低学习难度降低设计和实现相关API的难度增加程序的重用性

1.1接口与实现

接口:

接口图谱

Map接口没有继承自Collection接口,因为Map表示的是关联式容器而不是集合。但Java为我们提供了从Map转换到Collection的方法,可以方便的将Map切换到集合视图。 上图中提供了Queue接口,却没有Stack,这是因为Stack的功能已被JDK 1.6引入的Deque取代。

实现:

这里写图片描述

1.2迭代器(Iterator)

迭代器:

迭代器(Iterator)为我们提供了遍历容器中元素的方法。Collection也继承了Iterator,所以容器的核心就是迭代器的实现。

Collection接口源码

public interface Collection<E> extends Iterable<E>{ int size(); boolean isEmpty(); //此列表是否包含指定的元素 boolean contains(Object o); Iterator<E> iterator(); Object[] toArray(); <T> T[] toArray(T[] a); boolean add(E e); boolean remove(Object o); //此列表是否包含指定的集合 boolean containsAll(Collection<?> c); boolean addAll(Collection<? extends E> c); boolean removeAll(Collection<?> c); //取两个集合的交集 boolean retainAll(Collection<?> c); void clear(); boolean equals(Object o); int hashCode();}

Iterable 接口源码:

public interface Iterable<T> {Iterator<T> iterator();}

Iterator 接口源码:

public interface Iterator<E>{ boolean hasNext(); E next(); void remove();}
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表