Map一、Map简介Map提供了一个更通用的元素存储方法。Map集合类用于存储元素对(成为键值对),其中每个键映射一个值。二、Map 常用类1. HashMap 最常用的Map,它根据键的HashCode 值存储数据,根据键可以直接获取它的值,具有很快的访问速度。HashMap 最多允许一条记录的键为Null(多条会覆盖 其实不为Null 的其他key值也不能重复);允许多条记录的值为Null 。非同步的。2. HashTable 与HashMap 类似 不同的是key和value的值不允许为...
Collection一、方法概览返回值方法说明intsize()集合大小booleanisEmpty()是不是包含元素(return size == 0 )Iteratiriterator()获取迭代器Object[]toArray()转换成Object数组T[]toArray(T[] a)转换成指定类型的数组booleanadd(E e)添加元素booleanremove(Object o)删除指定元素booleancontainsAll(Collection<?> c)是否包含结合中所有元素booleanaddAll(Collection<? extends E> c )添加集合c中所有元素booleanremoveAll(Collecti...
Set一、set是什么Set是一种没有重复元素的集合,它所有的方法都是直接继承Collection接口,并且添加了一个对重复元素的限制,Set要求强化了equals和hashCode两个方法,以使set集合可以对元素进行排序和对比。二、方法Set没有在Collection上新增接口 但是他的子类添加新方法了返回值方法说明SortedSet< E >subSet(E fromElement,E toElement)set的子集,从某个元素到某个元素SortedSet< E >headSet(E toElement)从第一个元素到指定元...
List一、List是什么List是有序集合,有时也被称为序列,可以有重复的元素List相对于集合Collection扩展了一些方法 :位置访问、搜索、迭代、视图与Set一样,List要求强化equal和hashCode以使两个集合元素可以进行逻辑上的比较,而不考虑他们具体实现类的类型。当两个List有相同元素时,他们被认为是相等的二、新增方法返回值方法描述booleanadd(int,E)向集合指定索引处插入一个对象,该索引必须与集合连贯booleanaddAll(i,Collectio...
Queue一、Queue是什么Queue是一种队列结构集合,用来储存将要进行处理的元素,一般会以FIFO的方式排序元素,但这不是必须的。比如优先级队列就是一个例外,优先级队列是以元素的值来排序。但是无论怎么样,每个queue的实现都必须制定它的排序属性。queue通常不定义元素的equal和hashCode二、Queue的实现1. 非阻塞LinkedList 实现了Queue和AbstractQueuePriorityQueue PriorityQueue类 实质上维护了一个有序列表。加入到Queue中的元...
集合 1.Collection 1.1 方法 add(T v) isEmpty() clear() contains(Object obj) remove(Object obj) size() toArray() 1.2 List 存放一组单值 有序,可重复,索引 1.2.1 ArrayList ArrayList是长度可变的对象引用数组,称为动态数组 数组容量也会随之自动扩展;访问和遍历数组元素时,ArrayList的性能优越 ArrayList类继承了AbstractList类并实现了List接口 方法: get(int index); remove(int index); 1.2.2 LinkedL...
Map java.util.Map<k, v>集合 Map集合的特点: Map集合是一个双列集合,一个元素包含两个值(一个key, 一个value);Map集合中的元素,key和value的数据类型可以相同也可以不同;Map集合中的元素,key是不允许重复的,value是允许重复的;Map集合中的元素,key和value一一对应; java.util.HashMap<k, v>集合 implements Map<k, v>接口 HashMap的特点: HashMap的底层是哈希表,查询速度特别快; JDK1.8之前,数组+单向链表; JDK1.8...
第一章 数据结构 数据存储的常用结构:栈、队列、数组、链表、红黑树。 栈:入口和出口在同一侧,先进后出;队列:入口和出口在集合的两侧,先进先出;数组: 查询快:数组地址连续,通过数组首地址找到数组,通过数组索引快速查找元素; 增删慢:数组的长度是固定的,要增删元素,必须创建一个新数组,把原数组的数据复制过来并销毁原数组(在堆内存中,频繁地创建数组、销毁数组,效率低下);链表:每一个元素包含了自己的数据、地...
目录集合概述为什么需要集合Java中的集合结构Conection接口List 接口List接口介绍List接口的实现类ArrayListVectorLinkedListSet接口HashSetTreeSet关于重复元素的说明 集合概述 为什么需要集合面向对象语言对事物的体现都是以对象的形式,为了方便对多个对象进行操作,就需要对对象进行存储 虽然我们可以使用 Array 存储对象,但这种存储对象的方式也有一些弊端。数组初始化以后,长度就不可变了,不便于扩展 数组中提供的属性和...
集合的体系结构:集合类提供一种存储空间可变的存储类型,存储的数据容量可随时发生改变。 Collection集合的概述:1.是单例集合的顶层接口,它表示一组对象,这些对象也被成为Collection的元素;2.JDK不提供该接口的任何直接实现,它提供了更具体的子接口(如set和list)实现。 Collection集合的常用方法:小常识:idea工具快捷键(Alt+7)可显示该类的结构图Collection集合的遍历: List集合的概述和特点: list特定迭代...
一、集合类 面向对象语言对事物的体现都是以对象的形式,所以为了方便对多个对象的操作,就对对象进行存储,集合就是存储对象的一种方式。 特点: 1.用于存储对象的容器 2.集合的长度是可变的 3.集合中不可以存储基本数据类型值。 集合只用于存储对象,集合的长度是可变的,集合可以存储不同类型的对象。 集合容器因为内部的数据结构不同,有多种容器。不断地向上抽取,就形成了集合框架。 框架的顶层Collections: Collection...
缘由 java的“普通”集合类不是线程安全的,故需要一定的处理才能适用于并发环境 一些老旧的线程安全的实现 Vector和HashTable,对所有public方法都加上了synchronized关键字,因为性能原因弃用 Collections包装方法 Collections针对每种集合都声明了一个线程安全的包装类,在原集合的基础上添加了锁对象,集合中的每个方法都通过这个锁对象实现同步 CopyOnWrite 中心思想 CopyOnWrite指在“写”的时候,不是直接“写”源数据,而是...
什么是Queue集合: Queue用于模拟队列这种数据结构,队列通常是“先进先出”(FIFO)的容器。队列的头部保存在队列中存放时间最长的元素,尾部保存存放时间最短的元素。? ?Queue接口定义了如下几个方法:void add(Object e):将制定的元素加入队列的尾部 Object element(): 获取队列的头部元素,但不要删除改元素 boolean offer(Object e): 将制定元素加入此队列的尾部。当使用有容量限制的队列的时候,该方法比add方法更好 Object ...
什么是List集合: 特点:元素有序可重复的集合。 集合中每个元素都有其对应的顺序索引。 List集合默认按元素的添加顺序设置元素的索引,索引从0开始。? List接口的常用方法: List可以使用Collection的所有方法。但是List也有自己的一些方法。 void add(int index, Object element) : 将元素element插入到List集合的index处 boolean addAll(int index, Collection c) : 将集合C包含的所有元素都插入到List集合的index处 Object ge...
集合和数组关系? 1) 集合是一种容器,可以存储多个数据.2) 数组的长度是固定的,集合的长度是可变的.3) 集合中存储的元素必须为引用类型数据,初始值为NULLArrayList集合类ArrayList<E>集合:大小可变数组的实现? <E>:是一种特殊的数据类型,泛型(泛型,用来将数据类型,作为参数进行传递.)? 在出现 E 的地方我们使用引用数据类型替换即可? 举例:ArrayList<String>,ArrayList<Student> 构造方法: ArrayList()成员方法:l...