数据结构(集合)学习之List】的更多相关文章

集合 框架关系图: 补充:HashTable父类是Dictionary,不是AbstractMap. Map: Map(接口)和Collection都属于集合,但是Map不是Collection的子类或者子接口.而且Map比较特殊:它是以<key,value>键值对的方式来存储数据,其中key不能重复,且一个key最多只对应一个value. Map在面试中常问的三个子类:HashMap.HashTable.TreeMap. HashMap: 基于哈希表的实现的Map接口, 该实现提供了所有可选…
集合 框架关系图: Collection接口下面有三个子接口:List.Set.Queue.此篇是关于Queue<E>的简单学习总结. 补充:HashTable父类是Dictionary,不是AbstractMap. Queue: Queue(队列):是一种特殊的链型结构,它的特点是先进先出(FIFO),通常只在尾部插入,头部删除,它经常和Stack(栈)进行比较,但Stack的特点是先进后出.注意:队列通常但不一定是以FIFO(先进先出)方式排序元素. 除了优先级队列之外,优先级队列是根据提…
集合 框架关系图: Collection接口下面有三个子接口:List.Set.Queue.此篇是关于Set<E>的简单学习总结. 补充:HashTable父类是Dictionary,不是AbstractMap. Set: Set里存放的对象是无序,不能重复的,集合中的对象不按特定的方式排序,只是简单地把对象加入集合中(可以存空元素).常见的子类:HashSet.TreeSet.LinkedHashSet. 1.HashSet(无序,不可重复): 底层实际上是一个无序,不可重复的HashMap…
集合 框架关系图: Collection接口下面有三个子接口:List.Set.Queue.此篇是关于List<E>的简单学习总结. 补充:HashTable父类是Dictionary,不是AbstractMap. List(有序.可重复): List里存放的对象是有序的,同时也是可以重复的,List关注的是索引,拥有一系列和索引相关的方法,查询速度快.因为往list集合里插入或删除数据时,会伴随着后面数据的移动,所有插入删除数据速度慢. List常用的子类:ArrayList.(面试常问的:…
集合 框架关系图 补充:HashTable父类是Dictionary,不是AbstractMap. 一:HashMap中的链循环: 一般来说HashMap中的链循环会发生在多线程操作时(虽然HashMap就不是线程安全的,一般多线程的时候也不会用它,但这种情况难免会发生) 以JDK1.7为例: void addEntry(int hash, K key, V value, int bucketIndex) { if ((size >= threshold) && (null != t…
集合 1.集合与数组 数组(可以存储基本数据类型)是用来存现对象的一种容器,但是数组的长度固定,不适合在对象数量未知的情况下使用. 集合(只能存储对象,对象类型可以不一样)的长度可变,可在多数情况下使用. 数组和集合都是用来存储数据的容器. 区别: 1)从长度来讲: 数组:需要固定长度. 集合:长度可以改变,可以根据保存的数据进行扩容. 2)从存储内容上: 数组:可以存储基本类型数据,还可以存储引用类型的数据(比如:String和上述演示的Student类). 集合:只能存储引用类型的数据,也就…
java集合学习(二) 在学完ArrayList 和 LinkedList之后,基本已经掌握了最基本的java常用数据结构,但是为了提高程序的效率,还有很多种特点各异的数据结构等着我们去运用,类如可以快速寻找的HashMap,可以自动排序而且不重样的TreeSet,可以保证线程安全的Hashtable,既可以保证数据不重样又可以键值存放的HashSet等等,这些数据结构都适用于不同的场景,各有其长处,我们应该仁者见仁,智者见智,数据结构的使用因需求而异,没有最好的数据结构类,而是有最适合的类.…
Java集合学习(一) ArraysList ArraysList集合就像C++中的vector容器,它可以不考虑其容器的长度,就像一个大染缸一 样,无穷无尽的丢进去也没问题.Java的数据结构和C有许多的共同之处,希望在学习的 过程中可以相互借鉴. 以下为ArraysList的使用方法: 首先创建ArraysList对象: ArraysList A = new ArraysList(); 添加对象实例: 有两种添加方法,一是直接添加,放到后面去,二是指定位置添加: 一直接添加:A.add(  …
0.参考文献 深入Java集合学习系列:HashSet的实现原理 1.HashSet概述: HashSet实现Set接口,由哈希表(实际上是一个HashMap实例)支持.它不保证set 的迭代顺序:特别是它不保证该顺序恒久不变.此类允许使用null元素.HashSet中不允许有重复元素,这是因为HashSet是基于HashMap实现的,HashSet中的元素都存放在HashMap的key上面,而value中的值都是统一的一个private static final Object PRESENT…
<!doctype html>java对象集合学习记录 figure:first-child { margin-top: -20px; } #write ol, #write ul { position: relative; } img { max-width: 100%; vertical-align: middle; } button, input, select, textarea { color: inherit; font-style: inherit; font-variant:…