【总结】Java常用集合接口与集合类

目录

  1. 常见集合接口概述

    1. Collection<E>
    2. Map<K,V>
  2. Collection接口
  3. Map接口
  4. 补充内容

?

  1. 常见集合接口概述

Java中包含许多集合接口。其中比较常见的主要是Collection接口和Map接口:

1.1 Collection<E>

由单元素组成的集合。其比较常见的直接子接口是List、Set和Queue接口。

? ? ? ?

表1.1 Collection<e>接口常用方法


编号


方法原型


解释


备注


1


boolean?add(E?e)


往集合中添加元素e

?

2


boolean?addAll(Collection<? extends E>?c)


往集合中添加集合c


此时集合c的元素必须是E子类对象


3


boolean?remove(Object?o)


将元素o从集合中移除

?

4


boolean?removeAll(Collection<? extends E>?c)


将集合c从集合中移除


此时集合c的元素必须是E子类对象


5


boolean?containsAll(Collection<?>?c)


判断集合中是否含有集合c的所有元素


判断时不考虑元素顺序


6


boolean?retainAll(Collection<?>?c)


求集合与集合c的交集

?

7


void?clear()


将集合中的元素全部清空

?

8


int?size()


计算集合长度

?

9


boolean?isEmpty()


判断集合是否为空

?

10


boolean?contains(Object?o)


判断集合是否含有元素o

?

11


Iterator<E>?iterator()


得到集合的Iterator<E>

?

12


Object[]?toArray()


将集合转换为Object数组


使用时注意将返回值类型转换

1.2 Map<K,V>

?

由键值对组成的集合。其比较常见的直接实现类有HashMap、TreeMap和LinkedHashMap类。


表1.2 Map<k,v>接口常用方法


编号


方法原型


解释


备注


1


V?get(Object?key)


获取Map中key对应的值

?

2


V?put(K?key,V?value)


将key-value这对键值对加入Map中

?

3


void?putAll(Map<? extends K,? extends V>?m)


将Map m加入Map中


注意m的泛型


4


V?remove(Object?key)


将key索引的键值对从Map中移除

?

5


void?clear()


清空Map

?

6


int?size()


计算Map的长度

?

7


boolean?isEmpty()


判断Map是否为空

?

8


boolean?containsKey(Object?key)


判断Map是否含有主键key

?

9


boolean?containsValue(Object?value)


判断Map是否含有值Value

?

10


Set<K>? keySet()


将Map的主键放入Set<K>中并返回

?

11


Collection<V>?values()


将Map的值放入Collection<V>中并返回

?

12


Set<Map.Entry<K,V>>?entrySet()


将Map中每对键值对转换为键值对实体,并以Set的方式返回

?

?

  1. Collection接口

Collection接口有三个比较常见的子接口:List、Set和Queue接口

2.1 List接口及其实现类

List接口有三个比较常见的实现类:LinkedList、ArrayList和Vector类。它们都按照元素的插入顺序来保存元素。

  • ArrayList:用数组实现的List——随机存取效率高,增删效率低 轻量级。线程不安全。
  • LinkedList:用双向循环链表 实现的List——随机存取效率低,增删效率高。线程不安全。
  • Vector:用数组实现的List——重量级,占据更多的系统开销。线程安全。

    ? ?
    表2.1 List<E>接口常用方法

    ?

    编号


    方法原型


    解释


    备注


    1


    boolean?addAll(int?index,Collection<? extends E>?c)


    指定集合c的添加起始位为index

    ?

    2


    E?get(int?index)


    获取位置index对应的元素

    ?

    3


    E?set(int?index, E?element)


    设置位置index的元素

    ?

    4


    void?add(int?index,E?element)


    将元素element添加到index

    ?

    5


    E?remove(int?index)


    移除index上的元素

    ?

    6


    int?indexOf(Object?o)


    得到元素o首次出现的位置

    ?

    7


    int?lastIndexOf(Object?o)


    得到元素o最后出现的位置

    ?

    8

    List

    <E>?subList(int?fromIndex, int?toIndex)

    得到列表从fromIndex到toIndex的子列表

    ?

    ?

  1. ArrayList

Class ArrayList<E>:底层使用数组实现。相对于数组的优点是自扩展长度,在元素个数超过本身所能存放的最大个数时能够自动扩展自身的长度。

  • public?ArrayList()、public?ArrayList(Collection<? extends E>?c)、public?ArrayList(int?initialCapacity):其中集合c是E子类的集合,用于在构造过程中初始化ArrayList;initialCapacity则表示待初始化的ArrayList初始长度。
  • public?void?trimToSize():释放列表的预留空间,使得列表所占空间尽量小。
  • public?void?ensureCapacity(int?minCapacity):设定列表的最小长度。当minCapacity小于列表元素个数时,列表长度以列表元素个数为准。
  • public?int?lastIndexOf(Object?o):返回元素o出现的最后一个位置序号
  • public?E?get(int?index)、public?E?set(int?index,E element):ArrayList的读写方法
  • protected?void?removeRange(int?fromIndex, int?toIndex):删除序号在fromIndex-toIndex之间的元素
  • public?List<E>?subList(int?fromIndex, int?toIndex):得到从fromIndex-toIndex之间的元素列表

?

  1. LinkedList

1.

c. Vector

  1. Map接口

?

?

  1. 补充内容

?

【总结】Java常用集合接口与集合类

时间: 2024-11-10 20:33:56

【总结】Java常用集合接口与集合类的相关文章

JAVA 常用集合接口List、Set、Map总结

java中频繁使用List.Set.Map接口,将其总结如下 它们的继承与实现关系如下: Collection├List│├LinkedList│├ArrayList│└Vector│ └Stack└SetMap├Hashtable├HashMap└WeakHashMap 某文章的摘录,转载http://blog.csdn.net/dotnetdesigner/archive/2007/11/08/1874605.aspx Collection接口 Collection是最基本的集合接口,一个C

c#中常用集合类和集合接口之集合类系列【转】

常用集合接口系列:http://www.cnblogs.com/fengxiaojiu/p/7997704.html 常用集合类系列:http://www.cnblogs.com/fengxiaojiu/p/7997541.html 常用集合类: 数组(Array)的不足(即:集合与数组的区别) 1. 数组是固定大小的,不能伸缩.虽然System.Array.Resize这个泛型方法可以重置数组大小,但是该方法是重新创建新设置大小的数组,用的是旧数组的元素初始化.随后以前的数组就废弃!而集合却是

Java常用函数式接口--Consumer接口andThen()方法使用案例(二)

Java常用函数式接口--Consumer接口使用案例 原文地址:https://www.cnblogs.com/niwotaxuexiba/p/10852243.html

java常用集合总结

1.线程安全      线程安全就是说多线程访问同一代码,不会产生不确定的结果. 2.List类和Set类   List类和Set类是Collection集合接口的子接口. Set子接口:无序,不允许重复. List子接口:有序,可以有重复元素. Set和List对比: Set:检索元素效率低下,删除和插入效率高,插入和删除不会引起元素位置改变. List:和数组类似,List可以动态增长,查找元素效率高,插入删除元素效率低,因为会引起其他元素位置改变.  Set和List具体子类: Set |

Java常用集合学习总结

一  数组 数组可以存储基本数据类型和对象的一种容器,长度固定,所以不适合在对象数量未知的情况下使用. Arrays : 用于操作数组对象的工具类,里面都是静态方法. Arrays.asList:把Array 转换成 List,可以作为其他集合类型构造器的参数. private static void arrayToList() { String[] arr = {"Hello","Hi"}; List<String> list = Arrays.asL

JAVA常用集合框架用法详解基础篇一之Colletion接口

首先,在学习集合之前我们能够使用的可以存储多个元素的容器就是数组. 下面举几个例子主要是引出集合类的: 1.8,4,5,6,7,55,7,8  像这样的类型相同的可以使用数组来存储,本例可以用int[] arr来存储. 2."zhnagsan",true,68 像这样的可以使用StringBuilder或者StringBuffer来存储,但最终需要使用.toString()的方法转换成字符串才可以使用.即 变为:"zhnagsantrue68". 3."李

Java 常用集合操作

List接口是Collection的子接口,用于定义线性表结构,其中ArrayList可以理解为一个动态数组,而LinkedList可以理解为一个链表 常用操作: 插入和删除操作: void add(int index,E element): 将给定的元素插入到指定位置,原位置及后续元素都顺序向后移动. E remove(int index): 删除给定位置的元素,并将被删除的元素返回. get和set方法: List除了继承Collection定义的方法外,还根据其线性表的数据结构定义了一系列

JAVA常用集合源码解析系列-ArrayList源码解析(基于JDK8)

文章系作者原创,如有转载请注明出处,如有雷同,那就雷同吧~(who care!) 一.写在前面 这是源码分析计划的第一篇,博主准备把一些常用的集合源码过一遍,比如:ArrayList.HashMap及其对应的线程安全实现,此文章作为自己相关学习的一个小结,记录学习成果的同时,也希望对有缘的朋友提供些许帮助. 当然,能力所限,难免有纰漏,希望发现的朋友能够予以指出,不胜感激,以免误导了大家! 二.稳扎稳打过源码 首先,是源码内部的成员变量定义以及构造方法: 1 /** 2 * Default in

java常用集合选用指南

java集合在选用的时候应该选那个合适?一张表告诉你该怎么选java集合   java集合类 是否线程安全 是否键值对 排序 性能 元素是否可重复 扩容策略 List接口 arraylist 否 否 维持存的时候的顺序 查询性能高,增删元素性能低 是 1.5倍扩容,元素大于当前容量的100%时进行扩容 linkedlist 否 否 有顺序 查询性能低,增删元素性能高 是   vector 是 否 有顺序 低 是   Stack 是 否 有顺序,先进后出 低 是   Map接口 hashmap 否