从本文起,我们将开始分享 Java 集合方面的知识,关注公众号「Java面典」了解更多 Java 知识点. List 是继承于 Collection 的接口,其实现类有 ArrayList,LinkedList,Vector 和 Stack. ArrayList 特点 ArrayList 内部是通过动态数组实现的,它允许对元素进行快速随机访问: 当数组大小不满足时需要扩容,需要将已有数组移动到新的内存空间: 当从 ArrayList 的中间位置插入或者删除元素时,需要对数组进行复制.移动代价比较…
操作集合的工具类Collections Java提供了一个操作Set.List和Map等集合的工具类:Collections,该工具类里提供了大量方法对集合元素进行排序.查询和修改等操作,还提供了将集合对象设置为不可变.对集合对象实现同步控制等方法. 排序操作 Collections提供了如下几个方法对List集合元素进行排序: static void reverse(List list);       //反转指定List集合元素的顺序. static void shuffle(List li…
1.sort(Collection)方法的使用(含义:对集合进行排序). 例:对已知集合c进行排序? public class Practice { public static void main(String[] args){ List c = new ArrayList(); c.add("l"); c.add("o"); c.add("v"); c.add("e"); System.out.println(c); Col…
1.void sort(array)对数组array的元素进行升序排序 2.int binarySearch(array,val):查询元素值val在数组array中的下标 3.String toString(array):该方法将会把一个数组array转换成字符串 4.boolean equals(array1,array2):比较两个数组是否相等 5.void fill(array,val):把数组array所有元素都赋值为val 6.copyof(array,length):把数组arra…
在前几个回合中,我们已经详细了解过了 Java 集合中的List.Set 和 Map,对这部分内容感兴趣的朋友可以关注我的公众号「Java面典」了解.今天我们将为各位介绍集合的失败机制--fail-fast与fail-safe. fail-fast(快速失败) 现象 在用迭代器遍历集合对象的时候,如果此时对集合对象进行了增加.删除.修改操作的时候,会抛出Concurrent Modification Exception. 原理 modCount :表示集合的修改次数,包括了调用集合本身修改方法(…
Map 在面试中永远是一个绕不开的点,本文将详细讲解Map的相关内容.关注公众号「Java面典」了解更多 Java 知识点. Map Map 是一个键值对(key-value)映射接口: 映射中不能包含重复的键,每个键最多只能映射到一个值: Map 允许以键集(keySet()).值集(valueSet())或键-值映射关系集(entrySet())的形式查看某个映射的内容. HashMap 特点 根据 key 的 hashCode 存储数据,大多数情况下(hash冲突时除外)可以直接定位到值:…
上一篇文章我们说到了 List ,本章开始,我们将继续讲解Set相关的知识.关注公众号「Java面典」了解更多 Java 知识点. Set 是一个无重复对象的集合类.值的重复与否是根据对象的 hashCode 来判断的,如果想要让两个不同的对象视为相等的,就必须覆盖 Object 的 hashCode 方法和 equals 方法. HashSet HashSet 是无序 的 Set 对象,由 HashMap 实现的,不保证元素的顺序性: HashSet 是非同步的.如果需要使用多线程操作 Has…
Java中的集合框架(上) 由于Java中的集合框架的内容比较多,在这里分为三个部分介绍Java的集合框架,内容是从浅到深,如果已经有java基础的小伙伴可以直接跳到<浅入深出之Java集合框架(下)>. 目录: 浅入深出之Java集合框架(上) 浅入深出之Java集合框架(中)   努力赶制中..关注后更新会提醒哦! 浅入深出之Java集合框架(下) 努力赶制中..关注后更新会提醒哦! 一.集合概述 1)集合的概念 现实生活中的集合:很多事物凑在一起. 数学中的集合:具有共同属性的事物的总体…
一.概述 Java Collection Framework (JCF) 提供给我们一系列的类和接口,方便开发者处理集合对象. 在Java 2之前,Java是没有完整的集合框架的.它只有一些简单的可以自扩展的容器类,比如Vector,Stack,Hashtable等.这些容器类在使用的过程中由于效率问题饱受诟病,因此在Java 2中,Java设计者们进行了大刀阔斧的整改,重新设计,于是就有了现在的集合框架.需要注意的是,之前的那些容器类库并没有被弃用而是进行了保留,主要是为了向下兼容的目的,但我…
作为一个Developer,Java集合类是我们在工作中运用最多的.最频繁的类.相比于数组(Array)来说,集合类的长度可变,更加适合于现代开发需求: Java集合就像一个容器,可以存储任何类型的数据,也可以结合泛型来存储具体的类型对象.在程序运行时,Java集合可以动态的进行扩展,随着元素的增加而扩大.在Java中,集合类通常存在于java.util包中. Java集合主要由2大体系构成,分别是Collection体系和Map体系,其中Collection和Map分别是2大体系中的顶层接口.…