9集合
Whaleson
这个作者很懒,什么都没留下…
展开
-
9.1Java集合框架
9.1.1将集合的接口与实现分离 队列(queue)接口:“先进先出”。 队列通常有两种实现方式: 使用循环数组; 循环数组比链表更高效。循环数组是一个有界集合,即容量有限。如果程序 中要收集的对象数量没有上限,就最好使用链表来实现。 使用链表; 9.1.2 Collection接口 iterator方法用于返回一个实现了Iterator接口的对象。可以使用这个迭代器对象一...原创 2019-07-16 06:40:19 · 155 阅读 · 0 评论 -
9.2 具体的集合
处以Map结尾的类之外,其它都实现了Collection接口,而以Map结尾的类实现了Map接口。 Java中的具体集合 集合类型 描 述 ArrayList 一种可以动态增长和缩减的索引序列 LinkedList 一种可以在任何位置进行高效地插人和删除操作的有序序列 ArrayDeque 一种用循环数组实现的双端队列 HashSet 一种没有重复元素的无序集合 ...原创 2019-07-16 07:44:33 · 162 阅读 · 0 评论 -
9.3映射
9.3.1 基本映射操作 Java类库为映射提供了两个通用的实现:HashMap和TreeMap。这两个类都实现了Map接口。 散列映射对键进行散列,树映射用键的整体顺序对元素进行排序,并将其组织成搜索树。 与集一样,散列稍微快一些,如果不需要按照排列顺序访问键,就最好选择散列。 如果同一个键两次调用put方法,第二个值就会取代第一个值。实际上,put将返回用这个键参数存储的上一个值...原创 2019-07-24 07:20:28 · 111 阅读 · 0 评论 -
9.4视图与包装器
java中的视图,可以说其实就是一个具有限制的集合对象,只不过这里的不是集合对象,而是一个视图对象。例如:这里有一个Test类 Test[] tests = new Test[10]; List<Test> testList = Arrays.asList(tests); 这里的testList是一个视图对象,**具有访问数组元素set,get的方法。**但是如果调...原创 2019-07-30 07:50:11 · 144 阅读 · 0 评论 -
HashMap源码解读
HashMap源码分析 Me: 对集合视图的迭代,HashMap的桶数加实际大小与时间成正比,也就是说,不可以把桶树设置的太多或负载因子太小。 O: 对集合视图的迭代需要与HashMap 实例的“容量”(桶数)加上其大小(键值映射的数量)成比例的时间。 因此,如果迭代性能很重要,则不要将初始容量设置得太高(或负载因子太低)非常重要。 Me: 影响HashMap实例性能的有两个参数,一个是...转载 2019-08-03 15:41:25 · 119 阅读 · 0 评论 -
9.5 算法
9.5.1 排序与混排 List<String> staff = new LinkedList<>(); Collections.sort(staff); //第二种方法 staff.sort((Comparator.comparingDouble(Employee::getSalary))); //降序对列表进行排序 staff.sort(Comparator.reve...原创 2019-07-31 07:54:06 · 256 阅读 · 0 评论 -
自己写一个Map
public class WhalesonMap<K,V> { Entry<K,V> [] tab; private int CAPACITY = 1 << 4;//6 @AllArgsConstructor @NoArgsConstructor @Data public class Entry<K,V>{...原创 2019-08-05 07:47:11 · 231 阅读 · 0 评论