Java集合总结 文章目录 Java集合总结一、Collection单列集合1. ArrayList2. LinkedList3. ArrayList 与 LinkedList 异同4. Vector 二、Map双列集合1.HashMap2.HashMap 和 Hashtable 的区别3. HashSet 和 HashMap 区别4. ConcurrentHashMap(线程安全)4. ConcurrentHashMap 和 Hashtable 的区别5. ConcurrentHashMap 线程安全的具体实现方式/底层具体实现 三、总结集合框架底层数据结构总结一、Collection单列集合 1. ArrayList 底层...
java集合 目录 1、List 1.1、ArrayList 1.2、LinkedList 1.3、ArrayList和LinkedList的效率? 2、Map 2.1、HashMap 2.2、LinkedHashMap 2.3、TreeMap 2.4、ConcurrentHashMap 2.5、总结 3、Set 3.1、HashSet 3.2、TreeSet 3.3、LinkedHashSet1、List1.1、ArrayList 底层数据结构是动态数组,ArrayList是一个泛型类,可以存放任意类型的对象。 ArrayList的所有方法都是默认在单一线程下...
集合是java中提供的一种工具,可以用来存储多个数据, 集合重写了toString,可以直接打印集合元素 集合与数组的区别: 集合长度可变,数组长度固定。数组存储同一种类型元素,存储值或者对象(引用类型),集合只能存储对象,且对象类型可以不一致。 集合框架 Collection接口:共性方法,没有带索引的方法。 List接口:有序的集合,取出元素顺序相同,允许重复元素,有索引。 Vector,ArraryList,LinkedList Set接口,不允许存储重...
1 集合和数组区别①集合和数组度可以存储多个值②数组长度不可变,集合可变③数组可以存储基本数据类型与对象,集合只能存储对象 2 集合框架 List接口 - 有序集合 - 可以重复 - 有索引 Set接口 - 不允许重复 - 没有索引 Collection接口 集合本身是一个工具,它存放在java.util包中public boolean add(E e): 把给定的对象添加到当前集合中 。public void clear() :清空集合中所有的元...
一:快速失败(fail—fast) 在用迭代器遍历一个集合对象时,如果遍历过程中对集合对象的内容进行了修改(增加、删除、修改),则会抛出ConcurrentModificationException。fail-fast机制并不保证在不同步的修改下一定会抛出异常,它只是尽最大努力去抛出,所以这种机制一般仅用于检测bug。原理:迭代器在遍历时直接访问集合中的内容,并且在遍历过程中使用一个 modCount 变量。集合在被遍历期间如果内容发生变化,就会改变modCount...
集合框架 1,为什么需要集合 变量:只能存储一个任何数据类型的数据 int a = 1; String str = ""; Person p = new Person();数组:可以存储相同数据类型的一组数据,长度不可变 int[] arr = {1,"2",3,4} Object[] obj = new Object[4]; obj[1] = 1; obj[2] = "2"; obj[3] = new Person(); arr[3] = 3;如果并不知道程序运行时会需要多少对象,或者需要 更复杂方式存储对象——可以使用Java集合框架2,集合框架的体系结构List : 有顺...
Java集合一 集合的好处 数组开始时长度必须指定,并且不可以修改,类型为相同的元素类型; 而集合可以动态保存多个对象,使用方便;提供了add,remove,set,get等方法; Java中集合分成两组单例集合、双例集合:Collection中两个重要的List和Set接口他们实现的子类都是单例集合(集合中放置为单个元素);Map接口中的实现子类为双例集合,存放的是键值对(K-V类型"成组存放") 集合框架(IDEA社区版不支持Diagrams功能,我枯了...) 不...
Java从入门到实战总结-3.2、Java集合文章目录 Java从入门到实战总结-3.2、Java集合1、集合(1)、集合概述(2)、类集设置的目的(重点)(3)、集合框架(4)、Java类集结构图(有整体认识) 2、链表和二叉树思路(1)、链表(实现单链表)A、什么是链表B、链表共分几类?单链表双向链表循环链表(2)、二叉树(理解概念)A、什么是二叉树B、二叉树的种类斜树满二叉树完全二叉树 C、二叉树的一些性质D、二叉树的遍历方式 (3)、单...
这一章补充上一章的内容、 一、迭代器与增强for循环 List strList = new ArrayList<>();//使用增强for循环for(String obj : strList){System.out.println(obj);}//使用iterator Iterator it = strList.iterator();while(it.hasNext()){String obj = it.next();System.out.println(obj);}Iterator(迭代器): 在程序开发中,经常需要遍历集合中的所有元素。针对这种需求,JDK专门提供了一个接口java.util.Iterator。Iterator接口也是...
1. ArrayList ArrayList是最最常用的集合类了,真的没有之一。下面的分析是基于1.8.0_261源码进行分析的。 1.1 ArrayList特点介绍 动态数组,使用的时候,只需要操作即可,内部已经实现扩容机制。线程不安全 有顺序,会按照添加进去的顺序排好 基于数组实现,随机访问速度快,插入和删除较慢一点 可以插入null元素,且可以重复1.2 实现的接口和继承的类 首先,我们看看ArrayList实现的类和继承的类: class ArrayList<E> extends A...
? 1.数据结构1.1 常见的数据结构 数据存储的常用结构有:栈、队列、数组、链表和红黑树。我们分别来了解一下: 1.1.1 栈 栈:stack,又称堆栈, 栈(stack)是限定仅在表尾进行插入和删除操作的线性表。我们把允许插入和删除的一端称为栈顶,另一端称为栈底,不含任何数据元素的栈称为空栈。栈又称为先进后出的线性表 。 简单的说:采用该结构的集合,对元素的存取有如下的特点 先进后出(即,存进去的元素,要在后它后面的元素依次...
集合 集合 概述:用来存储多个数据的容器。集合和数组的区别: 共同点: 都是用来存储数据的容器,都可以存储多个数据 不同点: (1)数组的大小是固定的,不能新增也不能减少元素;集合的大小是可以进行改变的,可以往集合中新增元素或者删除元素。 (2)数组既可以存储基本数据类型的数据,也可以存储引用数据类型的数据;集合只能存储引用数据类型数据。 (3)数组中本身操作元素的功能比较少,就只有一个length属性;集合的功能...
1.List接口的特性 java.util.List 接口继承于 Collection 接口,与Map最大的不同之处,在于它属于单列集合,相当于一个列表,有以下这些特点:有顺序,按照添加的顺序存储,是一种线性结构。 可以根据索引查询元素。 元素可以重复。An ordered collection(also known as a <i> sequence </i>).The user of this interface has precise control over where in the list each element is inserted.The user can access elements by th...
JAVA中对集合排序 1.集合排序的基本概念 集合排序,它可以使用集合的工具类java.util.Collections 其定义了很多静态方法,用于操作集合,其中sort方法是对list集合进行自然排序(从小到大)。 public class Collections_sort {public static void main(String[] args) {//随机生成生成10个100内的整数存储在list集合中List<Integer> list=new ArrayList<Integer>();for(int i=0;i<10;i++){int a=(int)(Math.random()*100);list.add...
Java Collections类的disjoint()方法用于检查两个指定的集合是否不相交。如果两个指定的集合没有相同的元素,则返回true。 Method: public static boolean disjoint(Collection<?> c1,Collection<?> c2) Returns true if the two specified collections have no elements in common. Examples package com.logicbig.example.collections;import java.util.Arrays; import java.util.Collections; import java.util.List;publ...