[知识整理]Java集合(二) - Set】的更多相关文章

Mark Java集合图…
一.实现Set的几个类 HashSet.LinkedHashSet.TreeSet.ConcurrentSkipListSet.CopyOnWriterArraySet 二.对应底层的数据结构 HashSet - 哈希表 LinkedHashSet - 哈希表和链表 TreeSet - 红黑树 ConcurrentSkipListSet - 跳表 CopyOnWriteArraySet - 数组列表 三.应用场景 这里先从元素是否有序,按照什么顺序来应用进行Set的选择,最后再从线程安全的角度说…
一.实现List的几个类: ArrayList.LinkedList.CopyOnWriteArrayList.Vector 二.几个List底层的数据结构: ArrayList - 数组列表 LinkedList - 双链表列表和队列(同时实现List和Queue接口) Vector - 数组列表(加锁) CopyOnWriteArrayList - 数组列表(读写分离) 三.List的几种基本操作比较 1.add操作比较 /** * 比较add操作 * @param minTimes 最小次…
Java集合主要由2大体系构成,分别是Collection体系和Map体系,其中Collection和Map分别是2大体系中的顶层接口. 今天主要讲:Map主要有二个子接口,分别为HashMap.TreeMap. 继承关系图: Map的整体特点: 1. 键值对存放<key , value> 2. 遍历需要使用迭代器:Iterator 常用Map HashMap import java.util.HashMap; import java.util.Map; public class var {…
在上一节中,介绍了Java集合的总体情况.从这节開始,将介绍详细的类.这里不单单介绍类的使用方法.还会试图从源代码的角度分析类的实现.这一节将介绍List接口及实现类.即列表中的链表LinkedList和数组列表ArrayList. 1 List接口及抽象类 List接口扩展自Collection接口,这个接口设计了一些适合列表操作的方法.List是一个有序集合.元素能够加入到容器中某个特定的位置. 使用javac编译List.java源代码后,能够使用javap反编译源代码获得接口的详细信息.…
作为一个Developer,Java集合类是我们在工作中运用最多的.最频繁的类.相比于数组(Array)来说,集合类的长度可变,更加适合于现代开发需求: Java集合就像一个容器,可以存储任何类型的数据,也可以结合泛型来存储具体的类型对象.在程序运行时,Java集合可以动态的进行扩展,随着元素的增加而扩大.在Java中,集合类通常存在于java.util包中. Java集合主要由2大体系构成,分别是Collection体系和Map体系,其中Collection和Map分别是2大体系中的顶层接口.…
List和Set概述数组必须存放同一种元素.StringBuffer必须转换成字符串才能使用,如果想拿出单独的一个元素几乎不可能.数据有很多使用对象存,对象有很多,使用集合存. 集合容器因为内部的数据结构不同有多种具体容器,不断的向上抽取就形成了集合框架.框架的顶层就是Collection接口. List:列表.元素可以重复,有序(存入和取出有特定的顺序).List下有三个类比较常用:Vector.ArrayList.LinkedList. Vector类.Vector类自JDK1.0就出现了,…
三大特征:封装,继承,多态 多态:简单的说就是用同样的对象引用调用同样的方法但是做了不同的事情. 抽象:抽象是将一类对象的共同特征总结出来构造类的过程 包装,可以讲基本类型当做对象来使用,抽象只关心对象有那些属性和行为,而不关心这些行为的细节是什么. Integer:当数值在-128-127之间的时候,不会new一个新对象 Integer c3 = new Integer(100); Integer d1 = new Integer(100); // false 两个对象不相等 Integer…
Iterable: public interface Iterable<T> { Iterator<T> iterator(); } 上面是Iterable源码,只有一个iterator(),所以Iterable接口只是用来返回一个新的迭代器,意味着这个集合支持迭代 Collection是list和set的父接口,而Collection实现了Iterable,所以list和set都可以使用迭代器 Iterator: public interface Iterator<E>…
参考链接: HOW2J.CN HashMap HashMap实现了JAVA的Map接口,类似于C++的STL框架的Map,是存储键值对的数据结构.键(key)是唯一的,但值(value)可以重复,如果向HashMap的对象中插入一个键值对,但键已经在HashMap对象中存在了,则会覆盖之前的键值对. package blog; import java.util.HashMap; import java.util.Map; public class Main { public static voi…