【Java分析】Java集合框架

目录:

一:java集合框架

二:ArrayList

三:LinkedList

四:HashMap

 

 

 

 

一:java集合框架:

定义:

         java集合可以看作是一种容器,用来存储对象信息。所有集合类都位于 java.util 包下,但支持多线程的集合类位于java.util.concurrent 包下。

         Java 集合类主要由两个根接口 Collection(单值)Map(双值)派生出来的,Collection 派生出了三个子接口:List、Set、Queue,因此 Java 集合大致也可分成 List、Set、Queue、Map 四种接口体系。

         其中接口有:Iterator->LinkIterator  、 Collection->List  Set Queue 、Deque  SortedSet  NavigableSet、Map->SortedMap  NavigableMap     

          抽象接口:带Abstract的接口     

          具体实现类  :1)list(有序可重复集合,可直接根据元素的索引来访问,允许为null) ArrayList LinkedList

                                 2)Set(无序不可重复集合,只能根据元素本身来访问) HashSet TreeSet LinkedHashSet

                                 3)Queue(队列集合) ArrayDequeue PriorityQueue(优先级队列)

                                 4)Map(存储 key-value 对的集合,可根据元素的 key 来访问 value,只允许一个为null) HashMap HashTable LinkedHashMap TreeMap  IdentityHashMap WeakHashMap 

                                 5) Vector  Stack  

 

 

1、Collection接口(不唯一,无序): 

           Collection 是最基本的集合接口,一个 Collection 代表一组 Object,即 Collection 的元素, Java不提供直接继承自Collection的类,只提供继承于的子接口(如List和set)。Collection 接口存储一组不唯一,无序的对象

 * @param <E> the type of elements in this collection
 * @author  Josh Bloch
 * @author  Neal Gafter
 * @see     Set
 * @see     List
 * @see     Map
 * @see     SortedSet
 * @see     SortedMap
 * @see     HashSet
 * @see     TreeSet
 * @see     ArrayList
 * @see     LinkedList
 * @see     Vector
 * @see     Collections
 * @see     Arrays
 * @see     AbstractCollection
 * @since 1.2
 */
public interface Collection<E> extends Iterable<E> {

     通过Collection接口的定义可以看出来Collection继承自Iterable接口,Iterable就是迭代器接口

Iterable中的方法:有三个 forEach(Consumer<? super T> action) 、Spliterator<T> spliterator() 、Iterator<T> iterator();

其中forEach:是for循环针对元素进行遍历,首先要通过Objects工具类判断action是否为空,如果不为空,然后就开始遍历,如果为空就会抛出一个NullPointException的异常。

default void forEach(Consumer<? super T> action) {
        Objects.requireNonNull(action);
        for (T t : this) {
            action.accept(t);
        }
    }

 

且接口中定义了如上方法,

1.1、List 接口(不唯一,有序):

         1、List接口是一个有序的 Collection,使用此接口能够精确的控制每个元素插入的位置,能够通过索引(元素在List中位置,类似于数组的下标)来访问List中的元素,第一个元素的索引为 0,。

         2、允许有相同的元素

1.2、Set接口(唯一,无序):

         1、Set 不保存重复的元素。

         2、Set 接口是无序的对象。

2、Map接口:

         Map 接口存储一组键值对象,提供key(键)到value(值)的映射。

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值