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

    Java11 Set 集合

    java.util.Set 接口和 java.util.List 接口一样,同样继承自 Collection 接口,它与 Collection 接口中的方法基本一致,并没有对 Collection 接口进行功能上的扩充 由于 Set 集合中的元素不能重复,因此在向 Set 集合中添加元素时,需要先判断新增元素是否已经存在于集合中,再确定是否执行添加操作。 ? 1.2 HashSet 集合    HashSet 是 Set 接口的典型实现,大多数时候使用 Set 集合时就是使用这个实现类。 1.4 TreeSet 集合    TreeSet 是 SortedSet 接口的实现类,TreeSet可以确保集合元素处于排序状态。 Object last( ) 返回集合中的最后一个元素 Object lower(Object e) 返回集合中位于指定元素之前的元素 Object higher(Object e) 返回集合中位于指定元素之后的元素

    89530发布于 2020-09-28
  • 来自专栏全栈程序员必看

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

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

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

    Java集合面试题

    Java集合面试题 Java 集合框架的基础接口有哪些? Collection ,为集合层级的根接口。一个集合代表一组对象,这些对象即为它的元素。Java 平台不提供这个接口任何直接的实现。 Java 集合框架提供常用的算法实现,比如排序和搜索。 Collections类包含这些方法实现。大部分算法是操作 List 的,但一部分对所有类型的集合都是可用的。 有哪些关于 Java 集合框架的最佳实践? 基于应用的需求来选择使用正确类型的集合,这对性能来说是非常重要的。 Hashtable 是在 Java 1.0 的时候创建的,而集合的统一规范命名是在后来的 Java2.0 开始约定的,而当时其他一部分集合类的发布构成了新的集合框架。 6、HashTable 中数组默认大小是 11 ,扩容方法是 old * 2 + 1 ,HashMap 默认大小是 16 ,扩容每次为 2 的指数大小。 一般现在不建议用 HashTable 。

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

    java面试题 --- 集合

    1. java 集合你了解吗? java 集合最顶层接口是 Collection 和 Map; Collection 有三个核心接口,分别是 List,Set,Queue; List 是有序可重复的,它的主要实现类有 ArrayList 什么是集合的快速失败机制? 集合内部会维护一个 modCount 变量,遍历的时候,会判断 modCount 变量的值是否等于期望值,不等就会报并发修改异常。 3. 用 for 循环遍历集合的同时移除元素可以吗? 不可以,会报并发修改异常。要边遍历边移除元素,只能用迭代器。 4. HashMap 底层是用什么实现的? 11. HashMap (jdk1.8) 数组什么时候扩容? 扩容因子是 0.75,当数组中元素个数达到数组长度的 3/4 时就扩容,扩容为原来的两倍。 12.

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

    java集合详解和集合面试题

    Java集合框架为Java编程语言的基础,也是Java面试中很重要的一个知识点。这里,我列出了一些关于Java集合的重要问题和答案。 1.Java集合框架是什么?说出一些集合框架的优点? 每种编程语言中都有集合,最初的Java版本包含几种集合类:Vector、Stack、HashTable和Array。随着集合的广泛使用,Java1.2提出了囊括所有集合接口、实现和算法的集合框架。 11.遍历一个List有哪些不同的方式? 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 实际开发中我们自己用这样的集合最多,因为一般我们自己写的业务代码中,不太涉及到多线程共享同一个集合的问题 9.集合和数组的区别 10.Java集合的快速失败机制 “fail-fast”? 11.遍历一个 List 有哪些不同的方式?每种方法的实现原理是什么? 12.HashSet如何检查重复? 18.哪些集合类是线程安全的?哪些不安全? 19.讲讲红黑树的特点? 20.怎么确保一个集合不能被修改?

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

    Java集合(八) 面试题

    初始容量不同:HashTable 的初始长度是11,之后每次扩充容量变为之前的 2n+1(n为上一次的长度)而 HashMap 的初始长度为16,之后每次扩充变为原来的两倍。

    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 集合深入理解(11):LinkedList

    index == size) linkLast(element); else linkBefore(element, node(index)); } //添加一个集合的元素 extends E> c) { checkPositionIndex(index); //把 要添加的集合转成一个 数组 Object[] a = c.toArray(); 使用 Spliterator 每次可以处理某个元素集合中的一个元素 — 不是从 Spliterator 中获取元素,而是使用 tryAdvance() 或 forEachRemaining() 方法对元素应用操作 ://www.cnblogs.com/kaituorensheng/archive/2013/03/02/2939690.html Thanks http://www.kutear.com/post/java /2016-08-16-think_in_java_11_and_17 https://segmentfault.com/a/1190000002516799 http://blog.csdn.net/

    91370发布于 2018-01-05
  • 来自专栏全栈技术

    Java中的集合面试题

    其实在看Java源码的时候,作者的很多意图都很费人心思,我能知道他的目标是啥,但是不知道他为何这样写。 5、modCotun+ +,该变量是父类中声明的,用于记录集合修改的次数,记录集合修改的次数是为了防止在用迭代器迭代集合时避免并发修改异常,或者说用于判断是否出现并发修改异常的。 5.3区别 List集合中对象按照索引位置排序,可以有重复对象,允许按照对象在集合中的索引位置检索对象,例如通过list.get()方法来获取集合中的元素; Map中的每一个元素包含一个键和一个值,成对出现 ,键对象不可以重复,值对象可以重复; Set集合中的对象不按照特定的方式排序,并且没有重复对象,但它的实现类能对集合中的对象按照特定的方式排序,例如TreeSet类,可以按照默认顺序,也可以通过实现Java.util.Comparator Java 中ArrayList和Linkedlist区别?

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

    Java Map集合面试题汇总

    1、 你都知道哪些常用的Map集合2、Collection集合接口和Map接口有什么关系? 3、HashMap是线程安全的吗?线程安全的Map都有哪些?性能最好的是哪个?

    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基础教程

    Java基础教程(11)-Java中的集合

    集合类型也是Java标准库中被使用最多的类型;通常也是面试时最常被问到的问题;Java中的集合Java中,如果一个Java对象可以在内部持有若干其他Java对象,并对外提供访问接口,我们把这种Java Java的数组可以看作是一种集合Java标准库自带的 java.util 包提供了集合类: Collection ;Collection 除 Map 外所有其他集合类的根接口; 所以也可以时候集合类有两种 :Collection和Map,各自有实现的子类;Javajava.util 包主要提供了以下三种类型的集合:List :一种有序列表的集合Set :一种保证没有重复元素的集合;Map :一种通过键值 虽然 key 不能重复,但 value 是可以重复的;面试题:HashMap 和 HashTable 有何不同? 默认初始容量和扩容机制: HashTable 中的 hash 数组初始大小是 11,增加的方式是 old*2+1。HashMap 中 hash 数组的默认大小是 16,而且一定是 2 的指数。

    38110编辑于 2024-04-29
  • 来自专栏好好学java的技术栈

    Java 集合系列11: Hashtable深入解析(1)

    java.util.Dictionary<K, V> ↳ java.util.Hashtable<K, V> public class Hashtable< package java.util; import java.io.*; public class Hashtable<K,V> extends Dictionary<K,V> implements public Hashtable() { // 默认构造函数,指定的容量大小是11;加载因子是0.75 this(11, 0.75f); } // 包含“ extends V> t) { this(Math.max(2*t.size(), 11), 0.75f); // 将“子Map”的全部元素都添加到Hashtable中 它是一个Set,意味着没有重复元素 private transient volatile Set<K> keySet = null; // Hashtable的“key-value的集合

    84820发布于 2019-09-18
  • 来自专栏猫头虎博客专区

    Java集合常见面试题汇总

    Java集合常见面试题汇总 1. 写出 List、Set、Map的各自特点 List接口: 存储任意类型的Object对象,有序、有下标、元素可以重复; 下标范围:0~元素个数-1 0~size()-1 Set集合: 无序、无下标 、元素内容不允许重复; Map集合: (1) Map以键值对形式存储(key-value)。 执行原理:当一个对象往 HashSet集合中存储时,先调用当前对象的 hashCode方法,获取对应存储下标(为了保证内容相同的对象不添加 到HashSet集合中,通常将 hashCode方法给与覆盖 简述 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所示。 10、你所知道的集合类都有哪些?主要方法? 最常用的集合类是 List 和 Map。 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. 初始容量大小和每次扩充容量大小的不同 : ① 创建时如果不指定容量初始值,Hashtable 默认的初始大小为 11,之后每次扩充,容量变为原来的 2n+1。HashMap 默认的初始化大小为 16。

    85621发布于 2021-08-13
  • 来自专栏Java经验之谈

    Java高频面试题- 每日三连问?【Day11】 — 集合容器篇(三)

    初始容量大小和每次扩充容量大小的不同 : ① 创建时如果不指定容量初始值,Hashtable 默认的初始大小为 11,之后每次扩充,容量变为原来的 2n+1。HashMap 默认的初始化大小为 16。

    47720编辑于 2022-02-23
领券