首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏全栈程序员必看

    java集合面试题_Java集合类相关面试题

    1、Collection和Collections的差别 java.util.Collection 是一个集合接口,Collection接口在Java类库中有非常多详细的实现。 比如List、Set java.util.Collections 是针对集合类的一个帮助类,它提供了一系列的静态方法实现对各种集合的搜索、排序、线程安全化等操作。 它们都是有序集合。它们内部的元素都是能够反复的,都能够依据序号取出当中的某一元素。 它们两个的差别在于: (1)、线程安全的问题:Vector是早期Java就有的,是同意多线程操作的。 Map没有父类 7、List、Map、Set三个接口。存取元素时各有什么特点 首先List和Set都是单列元素的集合。它们有一个共同的父接口Collection。 List内的元素讲究有序性。 另外还是以获得全部key的集合和全部value的集合。还能够获得key和value组成 的Map.Entry对象的集合

    42110编辑于 2022-09-08
  • 来自专栏全栈程序员必看

    Java集合面试题

    Java集合面试题 Java 集合框架的基础接口有哪些? Collection ,为集合层级的根接口。一个集合代表一组对象,这些对象即为它的元素。Java 平台不提供这个接口任何直接的实现。 Java 集合框架提供常用的算法实现,比如排序和搜索。 Collections类包含这些方法实现。大部分算法是操作 List 的,但一部分对所有类型的集合都是可用的。 LinkedList :双向链表(JDK6 之前为循环链表,JDK7 取消了循环)。 有哪些关于 Java 集合框架的最佳实践? 基于应用的需求来选择使用正确类型的集合,这对性能来说是非常重要的。 Hashtable 是在 Java 1.0 的时候创建的,而集合的统一规范命名是在后来的 Java2.0 开始约定的,而当时其他一部分集合类的发布构成了新的集合框架。

    79021编辑于 2022-07-23
  • 来自专栏JavaEE

    java面试题 --- 集合

    1. java 集合你了解吗? java 集合最顶层接口是 Collection 和 Map; Collection 有三个核心接口,分别是 List,Set,Queue; List 是有序可重复的,它的主要实现类有 ArrayList 什么是集合的快速失败机制? 集合内部会维护一个 modCount 变量,遍历的时候,会判断 modCount 变量的值是否等于期望值,不等就会报并发修改异常。 3. 用 for 循环遍历集合的同时移除元素可以吗? 不可以,会报并发修改异常。要边遍历边移除元素,只能用迭代器。 4. HashMap 底层是用什么实现的? 7. HashMap (jdk1.8) 计算索引时为什么用与 (&) 操作? 正常情况计算索引应该是 hashCode 值对数组长度取模,即求余,但是取模运算的效率不高,所以改用与 (&) 操作。

    43120编辑于 2021-12-10
  • 来自专栏全栈程序员必看

    java集合详解和集合面试题

    Java集合框架为Java编程语言的基础,也是Java面试中很重要的一个知识点。这里,我列出了一些关于Java集合的重要问题和答案。 1.Java集合框架是什么?说出一些集合框架的优点? 每种编程语言中都有集合,最初的Java版本包含几种集合类:Vector、Stack、HashTable和Array。随着集合的广泛使用,Java1.2提出了囊括所有集合接口、实现和算法的集合框架。 迭代器取代了Java集合框架中的Enumeration。迭代器允许调用者在迭代过程中移除元素。 7.Enumeration和Iterator接口的区别? Java.util包中的所有集合类都被设计为fail-fast的,而java.util.concurrent中的集合类都为fail-safe的。 Java1.5并发包(java.util.concurrent)包含线程安全集合类,允许在迭代时修改集合

    87520编辑于 2022-09-05
  • 来自专栏全栈程序员必看

    java集合面试题

    java集合面试题 1.请聊一下java集合类,以及在实际项目中你是如何用的? 注意说出集合体系,常用类,接口,实现类 加上你所知道的高并发集合类,JUC 在实际项目中引用,照实说就好了 2.集合类是怎么解决高并发中的问题? 线程非全的集合类ArrayList LinkedList HashSet TreeSet HashMap TreeMap 实际开发中我们自己用这样的集合最多,因为一般我们自己写的业务代码中,不太涉及到多线程共享同一个集合的问题 6.集合框架底层的数据结构 7.HashMap和HashTable有何不同? 8.ArrayList和LinkedList有何区别? 9.集合和数组的区别 10.Java集合的快速失败机制 “fail-fast”? 11.遍历一个 List 有哪些不同的方式?每种方法的实现原理是什么? 12.HashSet如何检查重复?

    35320编辑于 2022-09-08
  • 来自专栏kwai

    Java集合(八) 面试题

    HashMap 和 HashTable 的区别(重点) 1,相同点: HashMap 和 HashTable 都是基于哈希表实现的 其内部每个元素都是 key-value 键值对 HashMap 和 HashTable 都实现了 Map、Cloneable、Serializable 接口。 2,不同点: 父类不同:HashMap 继承了 AbstractMap 类,而 HashTable 继承了 Dictionary 类。 空值不同:HashMap 允许空的 key 和 value 值,HashTable

    24580编辑于 2022-01-10
  • 来自专栏FREE SOLO

    Java集合综合面试题

    import java.util.Hashtable; import java.util.Iterator; import java.util.Map; import java.util.Set me = iter.next(); System.out.println(me.getKey()+","+me.getValue()); } } } 面试题 :现在在一个List集合之中保存了多个String对象,要求将这个List集合变为Set集合,而后再将这个Set集合之中的全部数据保存在Map集合的value里面,而Map集合的key使用UUID生成, import java.util.ArrayList; import java.util.HashMap; import java.util.HashSet; import java.util.Iterator ; import java.util.List; import java.util.Map; import java.util.Set; import java.util.UUID; public

    86000发布于 2019-04-18
  • 来自专栏全栈程序员必看

    Java集合面试题_java是什么

    Java 中的拷贝 由于java中只有值传递,u2 = u1,拿到的是u1的地址,u2和u1指向的是同一个内存区域,u1改变值,u2也会改变。 CloneNotSupportedException{ UseCloneable u1 = new UseCloneable(); u1.clone(); ------- Exception in thread "main" java.lang.CloneNotSupportedException : com.example.miccommon.collection.UseCloneable at java.lang.Object.clone(Native Method) at com.example.miccommon.collection.UseCloneable.main (UseCloneable.java:16) 实现接口实现拷贝过程 @Data public class UseCloneable implements Cloneable { private int

    32220编辑于 2022-11-04
  • 来自专栏全栈技术

    Java中的集合面试题

    其实在看Java源码的时候,作者的很多意图都很费人心思,我能知道他的目标是啥,但是不知道他为何这样写。 7.记录修改次数。 8、返回删除的元素(让用户再看最后一眼)。 ,键对象不可以重复,值对象可以重复; Set集合中的对象不按照特定的方式排序,并且没有重复对象,但它的实现类能对集合中的对象按照特定的方式排序,例如TreeSet类,可以按照默认顺序,也可以通过实现Java.util.Comparator ; 7. Java 中ArrayList和Linkedlist区别?

    65620发布于 2021-08-23
  • 来自专栏Java技术栈

    Java Map集合面试题汇总

    1、 你都知道哪些常用的Map集合2、Collection集合接口和Map接口有什么关系? 3、HashMap是线程安全的吗?线程安全的Map都有哪些?性能最好的是哪个? 7、HashMap的链表结构设计是用来解决什么问题的? 8、HashMap的键、值可以为NULL吗?HashTable呢? 9、HashMap使用对象作为key,如果hashcode相同会怎么处理?

    1.6K60发布于 2018-03-30
  • 来自专栏CSDNToQQCode

    常用Java面试题 List集合

    版本之后的获取头,获取尾 List接口特有方法 增 add(index,element) 在指定索引的位置上插入元素 addAll(index,Collection) 在指定的引的位置上插入整个集合的元素 addAll(Collection) 在结束插入整个集合的元素 删 remove(index) 改 set(index,element) 使用element替换指定索引位置上的元素 查

    27310编辑于 2022-11-28
  • 来自专栏拭心的安卓进阶之路

    Java 集合深入理解(7):ArrayList

    什么是 ArrayList ArrayList 是 Java 集合框架中 List接口 的一个实现类。 capacity 5.数组最大容量: private static final int MAX_ARRAY_SIZE = Integer.MAX_VALUE - 8; Integer.MAX_VALUE = 0x7fffffff = 0; } //在指定位置,添加一个集合 public boolean addAll(int index, Collection<? 下次使用时就不用重新 new 了 for (int i = 0; i < size; i++) elementData[i] = null; size = 0; } 7. IndexOutOfBoundsException ex) { throw new ConcurrentModificationException(); } } } 在 Java

    1K70发布于 2018-01-05
  • 来自专栏技术杂货店

    java集合7】-- List接口源码解析

    1.List接口的特性 java.util.List 接口继承于 Collection 接口,与Map最大的不同之处,在于它属于单列集合,相当于一个列表,有以下这些特点: 有顺序,按照添加的顺序存储, private void writeObject(java.io.ObjectOutputStream s) throws java.io.IOException{ // = 0; } 指定index,插入一个集合,和前面不一样的地方在于复制之前,需要计算往后面移动多少位,不是用for循环去插入,而是一次性移动和写入。 But ListIterator has been introduced with Java 1.2. 中文就是: 因为Java 5可以用更特定的返回类型(称为协变返回类型)重写方法。但是ListIterator是在Java 1.2中引入的。

    82700发布于 2020-11-21
  • 来自专栏猫头虎博客专区

    Java集合常见面试题汇总

    Java集合常见面试题汇总 1. 、元素内容不允许重复; Map集合: (1) Map以键值对形式存储(key-value)。 执行原理:当一个对象往 HashSet集合中存储时,先调用当前对象的 hashCode方法,获取对应存储下标(为了保证内容相同的对象不添加 到HashSet集合中,通常将 hashCode方法给与覆盖 和equals方法(规则等价于 HashSet);但是实际开发应用,通常使用 Integer、String作为 HashMap的key类型 注意:HashSet底层实际封装了一个 HashMap 7. 简述 Java集合框架

    24010编辑于 2024-04-07
  • 来自专栏Java研发军团

    Java面试题-集合框架篇三

    Hashtable继承自Dictionary类,而HashMap是Java1.2引进的Map interface的一个实现。 就HashMap与HashTable主要从三方面来说: 一.历史原因:Hashtable是基于陈旧的Dictionary类的,HashMap是Java 1.2引进的Map接口的一个实现 其实,并不是把这个对象本身存储进了集合中,而是在集合中用一个索引变量指向这个对象,当这个对象被add多次时,即相当于集合中有多个索引指向了这个对象,如图x所示。 7、去掉一个Vector集合中重复的元素 Vector newVector = new Vector(); For (int i=0;i<vector.size();i++) { Object obj map可以返回三个集合,一个是返回所有的key的集合,另外一个返回的是所有value的集合,再一个返回的key和value组合成的EntrySet对象的集合. map也有get方法,参数是key,返回值是

    70430发布于 2019-08-20
  • 来自专栏陈树义

    Java集合常见面试题集锦

    1、介绍Collection框架的结构 集合Java中的一个非常重要的一个知识点,主要分为List、Set、Map、Queue三大数据结构。 它们在Java中的结构关系如下: Collection接口是List、Set、Queue的父级接口。 Set接口有两个常用的实现类:HashSet和TreeSet。 第一种,实现Comparable接口: package com.chanshuyi.comparable; import java.util.*; public class Student implements 它们的不同点主要在三个方面: 第一,Hashtable是Java1.1的一个类,它基于陈旧的Dictionary类。而HashMap是Java1.2引进的Map接口的一个实现。 一个对象可以被反复存储进List中,每调用一次add方法,这个对象就被插入进集合中一次,其实,并不是把这个对象本身存储进了集合中,而是在集合中用一个索引变量指向这个对象,当这个对象被add多次时,即相当于集合中有多个索引指向了这个对象

    1K50发布于 2018-04-13
  • 来自专栏Vincent-yuan

    Java集合框架常见面试题

    剖析面试最常见问题之 Java 集合框架 1.1. 集合概述 1.1.1. Java 集合概览 1.1.2. 说说 List,Set,Map 三者的区别? 1.1.3. 剖析面试最常见问题之 Java 集合框架 1.1. 集合概述 1.1.1. Java 集合概览 从下图可以看出,在 Java 中除了以 Map 结尾的类之外, 其他类都实现了 Collection 接口。 并且,以 Map 结尾的类都实现了 Map 接口。 ? 1.1.2. 但是集合提高了数据存储的灵活性,Java 集合不仅可以用来存储不同类型不同数量的对象,还可以保存具有映射关系的数据。 1.2. Collection 子接口之 List 1.2.1. [-9, -7, -5, -1, 3, 3, 4, 7] 定制排序后: [7, 4, 3, 3, -1, -5, -7, -9] 1.3.1.2.

    85621发布于 2021-08-13
  • 来自专栏指点的专栏

    Java 集合框架(7)---- Set 相关类解析

    关于 HashMap 的运行机制,可以参考之前的文章:Java 集合框架(5)---- Map 相关类解析(中) TreeSet 这个类可以使得添加进入 Set 集合中的元素按照某种规则来排序,但是其并不是直接实现 关于 TreeMap 可以参考:Java 集合框架(5)---- Map 相关类解析(中) 。 <E>, Cloneable, java.io.Serializable { /** * The backing map. 关于其运行元素可以参考 Java 集合框架(6)---- Map 相关类解析(下) 。 在下一篇文章中我们将一起对整个 Java 集合框架做一个总结,也算是深入 Java 集合框架的系列的一个结束篇吧。

    67430发布于 2019-01-18
  • 来自专栏Java程序猿部落

    Java面试题Java中的集合及其继承关系

    7、WeakHashMap与HashMap的区别是什么? private static final int DEFAULT_CAPACITY = 10; //from HashMap.java JDK 7 static final int DEFAULT_INITIAL_CAPACITY Java.util包中的所有集合类都被设计为fail->fast的,而java.util.concurrent中的集合类都为fail-safe的。 27、说出几点 Java 中使用 Collections 的最佳实践 这是我在使用 Java 中 Collectionc 类的一些最佳实践: 使用正确的集合类,例如,如果不需要同步列表,使用 ArrayList BlockingQueue接口是Java集合框架的一部分,主要用于实现生产者-消费者模式。

    1.7K00发布于 2019-08-20
  • 来自专栏JavaEdge

    Java 集合源码解析 - ConcurrentHashMap(JDK7

    ConcurrentHashMap是线程安全且高效的HashMap 1 为什么要使用ConcurrentHashMap 线程不安全的HashMap HashMap是Java中最常用的一个Map类,性能好 ConcurrentHashMap 摒弃了单一的 map 范围的锁,取而代之的是由 16 个锁组成的集合,其中每个锁负责保护 hash bucket 的一个子集。 来保护不同段的数据,在插入和获取元素时,先通过散列算法定位到Segment private static int hash(int h) { h += (h << 15) ^ 0xffffcd7d 之所以不会读到过期的值,是因为根据Java内存模型的happen before原则,对volatile字段的写操作先于读操作; 即使两个线程同时修改和获取volatile变量,get操作也能拿到最新的值 根据 Java 内存模型,对 同一个 volatile 变量的写 / 读操作可以确保:写线程写入的值,能够被之后未加锁的读线程“看到”。

    1K20编辑于 2022-11-30
领券