JAVA-集合框架
litengbin
这个作者很懒,什么都没留下…
展开
-
LinkedList(链式结构)
序列分先进先出FIFO,先进后出FILO FIFO在Java中又叫Queue 队列 FILO在Java中又叫Stack 栈LinkedList 与 List接口与ArrayList一样,LinkedList也实现了List接口,诸如add,remove,contains等等方法。 详细使用,请参考 ArrayList 常用方法,在此不作赘述。接下来要讲的是Linke转载 2018-01-02 11:54:26 · 548 阅读 · 0 评论 -
ArrayList(顺序结构)
使用数组的局限性如果要存放多个对象,可以使用数组,但是数组有局限性比如 声明长度是10的数组不用的数组就浪费了超过10的个数,又放不下ArrayList存放对象为了解决数组的局限性,引入容器类的概念。 最常见的容器类就是 ArrayList 容器的容量"capacity"会随着对象的增加,自动增长 只需要不断往容器里增加英雄即可,不用担心会出现数组的边界问题转载 2018-01-02 10:30:31 · 4106 阅读 · 0 评论 -
HashMap和HashSet
HashMap的键值对HashMap储存数据的方式是—— 键值对package collection; import java.util.HashMap; public class TestCollection { public static void main(String[] args) { HashMap dictionary = new Ha转载 2018-01-02 15:22:24 · 228 阅读 · 0 评论 -
Collection和Collections
CollectionCollection是 Set List Queue和 Deque的接口Queue: 先进先出队列Deque: 双向链表注:Collection和Map之间没有关系Collection是放一个一个对象的,Map 是放键值对的Collections是一个类,容器的工具类,就如同Arrays是数组的工具类反转reverse 使转载 2018-01-02 16:54:45 · 362 阅读 · 1 评论 -
ArrayList vs HashSet
是否有顺序ArrayList: 有顺序HashSet: 无顺序HashSet的具体顺序,既不是按照插入顺序,也不是按照hashcode的顺序。以下是HasetSet源代码中的部分注释 /** * It makes no guarantees as to the iteration order of the set; * in particular, it do转载 2018-01-02 17:17:04 · 308 阅读 · 0 评论 -
ArrayList vs LinkedList
ArrayList和LinkedList的区别ArrayList 插入,删除数据慢LinkedList, 插入,删除数据快ArrayList是顺序结构,所以定位很快,指哪找哪。 就像电影院位置一样,有了电影票,一下就找到位置了。LinkedList 是链表结构,就像手里的一串佛珠,要找出第99个佛珠,必须得一个一个的数过去,所以定位慢插入数据package转载 2018-01-02 17:30:34 · 321 阅读 · 0 评论 -
HashMap vs HashTable
HashMap和Hashtable都实现了Map接口,都是键值对保存数据的方式区别1: HashMap可以存放 nullHashtable不能存放null区别2:HashMap不是线程安全的类Hashtable是线程安全的类package collection; import java.util.HashMap;import java.util.Hashtable转载 2018-01-02 18:05:03 · 200 阅读 · 0 评论 -
HashSet LinkedHashSet TreeSet
HashSet LinkedHashSet TreeSetHashSet: 无序LinkedHashSet: 按照插入顺序TreeSet: 从小到大排序package collection; import java.util.HashSet;import java.util.LinkedHashSet;import java.util.TreeSet; pu转载 2018-01-02 18:06:14 · 261 阅读 · 0 评论 -
hashcode原理、比较器、聚合操作
List查找的低效率假设在List中存放着无重复名称,没有顺序的2000000个Hero要把名字叫做“hero 1000000”的对象找出来List的做法是对每一个进行挨个遍历,直到找到名字叫做“hero 1000000”的英雄。最差的情况下,需要遍历和比较2000000次,才能找到对应的英雄。测试逻辑:1. 初始化2000000个对象到ArrayList中2. 打乱容转载 2018-01-02 22:35:24 · 359 阅读 · 0 评论