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

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

    1、Collection和Collections的差别 java.util.Collection 是一个集合接口,Collection接口在Java类库中有非常多详细的实现。 比如List、Set java.util.Collections 是针对集合类的一个帮助类,它提供了一系列的静态方法实现对各种集合的搜索、排序、线程安全化等操作。 它们都是有序集合。它们内部的元素都是能够反复的,都能够依据序号取出当中的某一元素。 它们两个的差别在于: (1)、线程安全的问题:Vector是早期Java就有的,是同意多线程操作的。 另外还是以获得全部key的集合和全部value的集合。还能够获得key和value组成 的Map.Entry对象的集合8、介绍一下TreeSet (1)TreeSet的原理 Tree在存储对象的时候须要排序。可是须要指定排序的算法。

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

    Java集合面试题

    Java集合面试题 Java 集合框架的基础接口有哪些? Collection ,为集合层级的根接口。一个集合代表一组对象,这些对象即为它的元素。Java 平台不提供这个接口任何直接的实现。 JDK8 以后,在解决哈希冲突时有了较大的变化,当链表长度大于阈值(默认为 8 )时,将链表转化为红黑树,以减少搜索时间。 有哪些关于 Java 集合框架的最佳实践? 基于应用的需求来选择使用正确类型的集合,这对性能来说是非常重要的。 Hashtable 是在 Java 1.0 的时候创建的,而集合的统一规范命名是在后来的 Java2.0 开始约定的,而当时其他一部分集合类的发布构成了新的集合框架。 JDK8 之后,ConcurrentHashMap 启用了一种全新的方式实现,利用 CAS 算法。

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

    java面试题 --- 集合

    1. java 集合你了解吗? java 集合最顶层接口是 Collection 和 Map; Collection 有三个核心接口,分别是 List,Set,Queue; List 是有序可重复的,它的主要实现类有 ArrayList 什么是集合的快速失败机制? 集合内部会维护一个 modCount 变量,遍历的时候,会判断 modCount 变量的值是否等于期望值,不等就会报并发修改异常。 3. 8. HashMap (jdk1.8) 数组长度为什么是 2 的 n 次幂? 当链表长度达到 8,且数组长度达到 64 的时候,就会生成红黑树; 当红黑树节点少于 6 个的时候,又会将红黑树转回链表。 11. HashMap (jdk1.8) 数组什么时候扩容?

    43120编辑于 2021-12-10
  • 来自专栏IT云清

    java8 集合操作

    1.根据集合的某个属性值,给集合做排序. 1.实体类要实现Comparable接口 public class IndustryInfo implements Comparable<IndustryInfo IndustryInfo::getNum).reversed()).collect(Collectors.toList()); 2.排除某个特定元素 List<Map<String, Object>> list8 List<Map<String, Object>>> age = list.stream().collect(Collectors.groupingBy(map -> map.get("age"))); 8. onlyPass.stream().collect(Collectors.maxBy(Comparator.comparing(ApprovalLogVo::getApprovalTime))).get(); 10.汇总集合中的某个对象属性

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

    java集合详解和集合面试题

    Java集合框架为Java编程语言的基础,也是Java面试中很重要的一个知识点。这里,我列出了一些关于Java集合的重要问题和答案。 1.Java集合框架是什么?说出一些集合框架的优点? 每种编程语言中都有集合,最初的Java版本包含几种集合类:Vector、Stack、HashTable和Array。随着集合的广泛使用,Java1.2提出了囊括所有集合接口、实现和算法的集合框架。 8.为何没有像Iterator.add()这样的方法,向集合中添加元素? 语义不明,已知的是,Iterator的协议不能确保迭代的次序。 Java.util包中的所有集合类都被设计为fail-fast的,而java.util.concurrent中的集合类都为fail-safe的。 Java1.5并发包(java.util.concurrent)包含线程安全集合类,允许在迭代时修改集合

    87520编辑于 2022-09-05
  • 来自专栏指点的专栏

    Java 集合框架(8)---- 总结

    前言 在之前的文章中我们介绍了一下 Java 集合框架中的一些类并对一些常用的类的源码和设计理念进行了解析。那么在这篇文章中我们来将之前介绍过的一些集合类做个总结,并补充一些没有涉及到的知识点。 在此之前我们来看看整个 Java 集合框架的类图: ? 接下来根据不同的分类角度来进行分类,首先是按集合类别: 集合类别 线性集合类 说到线性集合类我们脑海里第一个想到的基本上都是 ArrayList ,确实,这个类太常用了,当然除了这个类,Java 集合框架中还有一些其他的有用的线性集合类 这里用一篇文章总结了一下 Set 接口下的具体类:Java 集合框架(7). HashSet 内部通过 HashMap 实现,效率较高。 好了,关于 Java 中的集合框架到这里就告一段落了。

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

    Java集合详解8Java集合类细节精讲

    Java集合详解系列》是我在完成夯实Java基础篇的系列博客后准备开始写的新系列。 今天我们来探索一下Java集合类中的一些技术细节。 初始容量 集合是我们在Java编程中使用非常广泛的,它就像大海,海纳百川,像万能容器,盛装万物,而且这个大海,万能容器还可以无限变大(如果条件允许)。 所以:对于已知的情景,请为集合指定初始容量。 所以若我们事先已知集合的使用场景,知道集合的大概范围,我们最好是指定初始化容量,这样对资源的利用会更加好,尤其是大数据量的前提下,效率的提升和资源的利用会显得更加具有优势。

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

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

    65620发布于 2021-08-23
  • 来自专栏微信公众号【Java技术江湖】

    Java 8中处理集合——Stream

    相比之下,关系型数据库中也同样有这些操作,但是在Java 8之前,集合和数组的处理并不是很便捷。 不过,这一问题在Java 8中得到了改善,Java 8 API添加了一个新的抽象称为流Stream,可以让你以一种声明的方式处理数据。本文就来介绍下如何使用Stream。 2 Stream的创建 在Java 8中,可以有多种方法来创建流。 1、通过已有的集合来创建流 在Java 8中,除了增加了很多Stream相关的类以外,还对集合类自身做了增强,在其中增加了stream方法,可以将一个集合类转换成流。 5 总结 本文介绍了Java 8中的Stream 的用途,优点等。还接受了Stream的几种用法,分别是Stream创建、中间操作和最终操作。

    69920发布于 2019-09-25
  • 来自专栏Java技术栈

    Java Map集合面试题汇总

    1、 你都知道哪些常用的Map集合2、Collection集合接口和Map接口有什么关系? 3、HashMap是线程安全的吗?线程安全的Map都有哪些?性能最好的是哪个? 8、HashMap的键、值可以为NULL吗?HashTable呢? 9、HashMap使用对象作为key,如果hashcode相同会怎么处理? 10、HashMap中的get操作是什么原理?

    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集合8】——— ArrayList源码分析

    ArrayList ArrayList是最最常用的集合类了,真的没有之一。下面的分析是基于1.8.0_261源码进行分析的。 private void writeObject(java.io.ObjectOutputStream s) throws java.io.IOException{ // 构造方法 构造方法有三个,可以指定容量,可以指定初始的元素集合,也可以什么都不指定。 ArrayListSpliterator:继承于Spliterator,Java 8 新增的迭代器,基于索引,二分的,懒加载器。 8. 小结一下 ArrayList是基于动态数组实现的,增加元素的时候,可能会触发扩容操作。扩容之后会触发数组的拷贝复制。

    48420编辑于 2022-02-15
  • 来自专栏IT云清

    java8 stream操作集合

    1.根据集合的某个属性值,给集合做排序. 1.实体类要实现Comparable接口 public class IndustryInfo implements Comparable<IndustryInfo IndustryInfo::getNum).reversed()).collect(Collectors.toList()); 2.排除某个特定元素 List<Map<String, Object>> list8 List<Map<String, Object>>> age = list.stream().collect(Collectors.groupingBy(map -> map.get("age"))); 8.

    1.3K30发布于 2019-01-22
  • 来自专栏技术杂货店

    java集合8】-- ArrayList接口源码解析

    ArrayList ArrayList是最最常用的集合类了,真的没有之一。下面的分析是基于1.8.0_261源码进行分析的。 private void writeObject(java.io.ObjectOutputStream s) throws java.io.IOException{ // 构造方法 构造方法有三个,可以指定容量,可以指定初始的元素集合,也可以什么都不指定。 ArrayListSpliterator:继承于Spliterator,Java 8 新增的迭代器,基于索引,二分的,懒加载器。 8. 小结一下 ArrayList是基于动态数组实现的,增加元素的时候,可能会触发扩容操作。扩容之后会触发数组的拷贝复制。

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

    Java集合常见面试题汇总

    Java集合常见面试题汇总 1. 、元素内容不允许重复; Map集合: (1) Map以键值对形式存储(key-value)。 执行原理:当一个对象往 HashSet集合中存储时,先调用当前对象的 hashCode方法,获取对应存储下标(为了保证内容相同的对象不添加 到HashSet集合中,通常将 hashCode方法给与覆盖 Comparator 和 Comparable的区别 Comparator是外置比较器,实现方法 compare(Tt1,T t2); Comparable是内置比较器,实现方法 compareTo(Tt)方法; 8. 简述 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所示。 obj); newVector.add(obj); } 还有一种简单的方式,利用了Set不允许重复元素: HashSetset = new HashSet(vector); 8、 map可以返回三个集合,一个是返回所有的key的集合,另外一个返回的是所有value的集合,再一个返回的key和value组合成的EntrySet对象的集合. map也有get方法,参数是key,返回值是

    70430发布于 2019-08-20
领券