美文网首页
java集合(Map-List-ArrayList)

java集合(Map-List-ArrayList)

作者: 晏子小七 | 来源:发表于2017-08-29 17:47 被阅读38次

1.(1)List,Set都是继承自Collection接口,Map则不是

(2)List特点:元素有放入顺序,元素可重复 ,Set特点:元素无放入顺序,元素不可重复,重复元素会覆盖掉,(注意:元素虽然无放入顺序,但是元素在set中的位置是有该元素的HashCode决定的,其位置其实是固定的,加入Set的Object必须定义equals()方法,另外list支持for循环,也就是通过下标来遍历,也可以用迭代器,但是set只能用迭代,因为他无序,无法用下标来取得想要的值。)

(3)Set和List对比:

Set:检索元素效率低下,删除和插入效率高,插入和删除不会引起元素位置改变。

List:和数组类似,List可以动态增长,查找元素效率高,插入删除元素效率低,因为会引起其他元素位置改变。

4.Map适合储存键值对的数据

5.线程安全集合类与非线程安全集合类

LinkedList、ArrayList、HashSet是非线程安全的,Vector是线程安全的;

HashMap是非线程安全的,HashTable是线程安全的;

StringBuilder是非线程安全的,StringBuffer是线程安全的。

--------------------------------------------------

2.keySet()返回此映射包含键的set集合,values()返回所有值,entrySet()返回所有映射关系              key-value都可以为null

3.判断是都包含某个元素,constains()方法,其实是重写Object的equals方法,一个元素一个元素比较,只要包含一个true,则返回true。

4.给List排序:java.util.Collection;List<Integer> ls = new ArrayList<Integer>();       Collection.sort(ls);进行排序(Integer类型);

5.4的前提是实现Comparable接口,Comparable和Comparator比较:

Comparable接口-可比较,其实现类要实现compareTo()方法,返回正数表示大,0表示相等

Comparator-比较工具接口,用于定义 临时 定义比较规则,其实现类需要实现compare()方法

6.

1).ArrayList维护着一个对象数组。如果调用new ArrayList()后,它会默认初始一个size=10的数组。

每次add操作都要检查数组容量,如果不够,重新设置一个初始容量1.5倍大小的新数组,然后再把每个元素copy过去。

在数组中间插入或删除,都要移动后面的所有元素。(使用System.arraycopy())

2).LindedList

LinkedList的实现是一个双向链表。每个节点除含有元素外,还包含向前,向后的指针。

新建一个LinkedList,生成一个头节点(header,就是一个头指针),它的元素为null。

3).比较ArrayList和LinkedList的结构,就可以得出:

——1.ArrayList的remove和add(index, Object)操作代价高,需要移动后面的每个元素。

——2.LinkedList的get(index)操作代价高,它要先循环遍历list,找到Object

相关文章

  • java集合(Map-List-ArrayList)

    1.(1)List,Set都是继承自Collection接口,Map则不是 (2)List特点:元素有放入顺序,元...

  • 一篇文章,全面解读Android面试知识点

    Java Java基础 Java集合框架 Java集合——ArrayList Java集合——LinkedList...

  • 收藏夹

    博文 Java 集合:Java 集合学习指南 Java 集合:Java 集合源码剖析 HashMap:HashMa...

  • Java 集合框架_开篇

    Java 集合框架系列 Java 集合框架_开篇Java 集合框架_ListJava 集合框架_ArrayList...

  • Java 集合框架_List

    Java 集合框架系列 Java 集合框架_开篇Java 集合框架_ListJava 集合框架_ArrayList...

  • 9、java集合

    1、什么是java集合 java集合是用来存储多个数据引用的数据类型。 2、java集合分类 java集合类在ja...

  • 【集合框架】

    集合框架(怎么实现、适用场景) hash相关 Java集合框架 Java集合框架综述Java集合框架面试问题集锦 ...

  • Java基础——集合体系Map详解

    Java基础——集合体系Map详解 上文中我们了解了集合体系中的单列集合:Java基础——集合以及Java集合——...

  • Java基础

    Java集合框架 一、Java集合类简介: Java集合大致分为四种体系:Set:无序、不可重复的集合List:有...

  • JavaSE集合类

    JavaSE集合类 概述 Java中集合类概述Java中数组与集合的比较Java中集合框架层次结构 Collect...

网友评论

      本文标题:java集合(Map-List-ArrayList)

      本文链接:https://www.haomeiwen.com/subject/manodxtx.html