Java集合框架

1:集合接口

1.1:Collection接口

Collection接口是构造集合框架的基础。它声明所有类集合都将拥有的核心方法

Boolean add(Object obj)

将obj加入到调用类集合中,加入返回true 否则 返回 false

Boolean addAll(Collection c)

将c中所有元素都加入到类集合中,都加入返回true否则 false

Void clean()

从调用类集合中删除所有元素

Boolean contains(Object obj)

如果obj是调用类集合的一个元素,则返回true否则 false

Boolean containsAll(Collection c)

如果调用类集合中包含了c中所有元素返回true 否则返回false

Boolean equals(Object obj)

如果调用类集合与obj相等,则返回true否则返回false

Int hashCode()

返回调用类集合的散列值

Iterator iterator()

返回调用类集合的迭代器

Boolean remove(Object obj)

从调用类集合中删除obj一个实例 成功 返回 true 否则 返回 false

Boolean removeAll(Collection c)

从调用类集合中删除c的所有元素,成功 返回 true 否则 返回 false

Boolean retainAll(Colletion c)

删除调用集合类中除了包含在c中之外的所有的元素,成果 返回 true 否则 返回 false

Int size()

返回调用类集合中元素个数

Object[] toArray()

返回一个数组,该数组包含所有调用类集合中的元素

1.2 LIst接口

 LIst接口继承了Collection并声明了类集的新特性。使用一个基于零的下标,元素可以通过他们在他们列表中的位置被插入和访问。一个列表可以包含重复元素

Void add(int index,Object obj)

将obj插入调用列表,插入的位置由index传递,任何已存在的在插入点以及插入点之后的元素将后移 因此元素没有被覆盖

Boolean addAll (int index,Collection c)

将c中的元素插入到调用列表中,插入点的下标由index传递 任何已存在的在插入点以及插入点之后的元素将后移 因此元素没有被覆盖 成功返回 true否则返回false

Object get(int index)

返回存储在调用类集内指定下标处的对象

Int indexOf(Object obj)

返回调用列表中obj的第一个实例的下标,如果obj不是类表中的元素,则返回-1

Int lastIndexOf(Object obj)

返回调用列表中obj的最后一个实例的下标,如果obj不是类表中的元素,则返回-1

Object remove(int index)

删除调用列表中index位置的元素并返回删除的元素。删除后,列表被压缩。也就是说,被删除元素后面的元素向前移动

Object set(int index,Object obj)

用obj对调用列表内由index指定的位置进行赋值

List subList(int start,int end)

返回一个列表,该列表包括了调用类表中从start 到 end-1的元素

1.3 Set接口

Set接口定义了一个集合。它继承了Collection并说明了不允许重复元素的类集特点,因此试图将重复的元素加到集合中时,add()方法就会返回false

1.4 Queue和Deque接口

Queue<E>接口(E表示复合元素的类型)扩展了Collection接口,定义了一个队列数据结构的操作方式。特点:LIFO后进先出

boolean add(E e) 添加

将制定的元素插入队列(如果立即可行并且不会违反容量限制),在成功时返回true,如果当前没有可用的容量,输出IllegalStateException

Boolean offer(E e) 添加

在有容量时,此方法要优于上一个方法,反之,可能无法插入元素,而只是抛出一个异常

E remove() 移除

获取并移除此队列的头,此方法与poll唯一的不同在于此队列为空时,将抛出一个异常

E poll() 移除

获取并移除此队列的头,如果此队列为空,则返回null

E element() 获取

获取,但不移除此队列的头,此方法与peek方法不同之处在于,次队列为空时将会抛出一个异常

E peek() 获取

获取但不移除此队列的头;如果此队列为空时,则返回null

1.2.1实现LIst接口的类

ArrayList类:ArrayList继承了AbstractList并实现了List接口。ArrayList支持可随需要增长的动态数组,在Java中,标准数组是定长的,而ArrayList是变长,ArrayList的对象以一个初始大小被创建。当超出了它的大小时,可以自动增大,当对象被删除后,就可以自动缩小

 LinkedList: LinkedList的存储方式是链式的,所以每个元素都记录了前一个元素和后一个元素,故插入元素较快 LinkedList是使用指针关联的双向链表,其获取下一个元素的方式是通过指向下一个元素的地址对象(指针) 获取的.

HahSet类:集合不含有相同的元素。

Map:映射接口

除了类集,映射是一个存储关键字和值的关联或者说是关键字/值对应的集合。给定一个关键字,可以得到它对应的值。关键字和值都是对象,每一对关键字/值,叫做一项。关键字必须是唯一的。但是值可以重复。有些映射可以接收null关键字和null值,有的则不行

接口

描述

Map

唯一关键字映射到值

Map.Entry

描述映射中的项(关键字/值对),Map内部接口

SortedMap

继承Map以便关键字按升序存储

Map中定义的方法

Void clear()

从映射中删除所有的关键字/值 对

boolean containsKey(Object k)

是否包含该关键字K

boolean containsValue(Object v)

是否包含该v值

Set entrySet()

返回包含了映射中的项的集合(Set)

Boolean isEmpty()

如果映射是null返回true 否则返回false

Boolean equals(Object obj)

如果obj是个Map并包含相同的项则返回true

Object get(Object k)

通过k获取到value

Int hashCode()

返回映射的散列值

Set keySet()

返回关键字Set集合

Object put(Object k,Object v)

添加

Void putAll(Map m)

将m中的所有项都添加

Object remove(Object k)

删除

Int size()

大小

Collection values()

返回一个包含映射中值的类集

Arrays 类

这个类提供了各种在进行数组运算时很有用的方法。

asList()

返回一个被数组支持的List

binarySearch()

在不同类型的数组中搜素特定值

equals()

比较两个数组是否相同

fill()

用一个指定的值填充数组

sort()

对不同类型的数组排序

ArrayList&LinkedList&Map&Arrays的更多相关文章

  1. paip.提升性能---list,arraylist,vector,linkedlist,map的选用..

    paip.提升性能---list,arraylist,vector,linkedlist,map的选用.. arraylist,vector基本一样,但是,vector线程安全的. 作者Attilax ...

  2. ArrayList LinkedList Vector

    ArrayList是基于数组实现的,没有容量的限制. 在删除元素的时候,并不会减少数组的容量大小,可以调用ArrayList的trimeToSize()来缩小数组的容量. ArrayList, Lin ...

  3. ArrayList, LinkedList, Vector - dudu:史上最详解

    ArrayList, LinkedList, Vector - dudu:史上最详解 我们来比较一下ArrayList, LinkedLIst和Vector它们之间的区别.BZ的JDK版本是1.7.0 ...

  4. Hashtable,HashMap,TreeMap有什么区别?Vector,ArrayList,LinkedList有什么区别?int和Integer有什么区别?

    接着上篇继续更新. /*请尊重作者劳动成果,转载请标明原文链接:*/ /*https://www.cnblogs.com/jpcflyer/p/10759447.html* / 题目一:Hashtab ...

  5. 09 Collection,Iterator,List,listIterator,Vector,ArrayList,LinkedList,泛型,增强for,可变参数,HashSet,LinkedHashSet,TreeSet

    09 Collection,Iterator,List,listIterator,Vector,ArrayList,LinkedList,泛型,增强for,可变参数,HashSet,LinkedHas ...

  6. Java集合--ArrayList,LinkedList性能分析

    转载请注明出处:http://www.cnblogs.com/skywang12345/p/3308900.html 第1部分 List概括 先回顾一下List的框架图 (01) List 是一个接口 ...

  7. Java——集合框架之ArrayList,LinkedList,迭代器Iterator

    概述--集合框架 Java语言的设计者对常用的数据结构和算法做了一些规范(接口)和实现(具体实现接口的类).所有抽象出来的数据结构和操作(算法)统称为Java集合框架(Java Collection ...

  8. ArrayList,LinkedList的对比

    ArrayList,LinkedList都是Collection接口的通用实现方式,两者采用了不用的存储策略,用来适应不同场合的需要. 实现方式 ArrayList的内部采用集合的方式存储数据 唯一需 ...

  9. Vector & ArrayList Hashtable & HashMap ArrayList & LinkedList

    1. Vector & ArrayList 1)  Vector的方法都是同步的(Synchronized),是线程安全的(thread-safe),而ArrayList的方法不是,由于线程的 ...

随机推荐

  1. iOS 状态栏黑色背景白色字体

    一. 状态栏背景(黑色)的设置 1.在有导航栏的情况下,给导航栏设置一个像素为44的背景图片即可 [[UINavigationBar appearance] setBackgroundImage:[U ...

  2. 《迷宫》特点分析之NABCD

    项目名称:迷宫 特点之一:死亡模式 特点描述:在路径上设置一个个点,每个点作为一个障碍或加成点,设置各种类型陷阱来减少角色血量,还有加血和各种加成设置. N:普通迷宫形式单一,游戏过程较平淡,缺乏一定 ...

  3. Android课程---环境配置很重要

  4. php课程---练习(联系人信息表)

    做一个联系人表,实现增删改功能 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "ht ...

  5. 数据库---MySQL练习题及答案

    一.            设有一数据库,包括四个表:学生表(Student).课程表(Course).成绩表(Score)以及教师信息表(Teacher).四个表的结构分别如表1-1的表(一)~表( ...

  6. html5:地理信息 LBS基于地理的服务和百度地图API的使用

    地理位置请求 单次定位请求getCurrentPosition(请求成功函数,请求失败函数,数据收集方式) 多次定位请求watchPosition(请求成功函数,请求失败函数,数据收集方式) 关闭更新 ...

  7. 3D touch的 使用心得

    一.设置图标touch 快捷进入 1.静态标签 静态标签是我们在项目的配置plist文件中配置的标签,在用户安装程序后就可以使用,并且排序会在动态标签的前面. 我们先来看静态标签的配置: 首先,在in ...

  8. net-snmp源码VS2013编译添加加密支持(OpenSSL)(在VS里配置编译OpenSSL)

    net-snmp源码VS2013编译添加加密支持(OpenSSL) snmp v3 协议使用了基于用户的安全模型,具有认证和加密两个模块. 认证使用的算法是一般的消息摘要算法,例如MD5/SHA等.这 ...

  9. ASP.NET Page执行顺序【转】

    一.ASP.NET 母版页和内容页中的事件 母版页和内容页都可以包含控件的事件处理程序.对于控件而言,事件是在本地处理的,即内容页中的控件在内容页中引发事件,母版页中的控件在母版页中引发事件.控件事件 ...

  10. 周记:Linux下C编程

    也啥都没干,计划一个都没干.吼吼-- 周六去看[21天学通Linux_C编程]笔记: 突然都对这本书没信心了.刚开始,就出现的不满如下:1.创建vim启动器时候,类型要选择[终端下的应用程序]没说,虽 ...