-
HashSet实现原理是什么?有什么特点?
HashSet 是基于 HashMap 实现的,查询速度特别快 HashMap 是支持 key 为 null 值的,所以 HashSet 支持添加 null 值 HashSet 存放自定义类时,自定义类需要重写 hashCode() 和 equals() 方法,确保集合对自定....- 盾给网
- 0
- 0
- 317
-
TreeSet的原理是什么?使用需要注意什么?
TreeSet 基于 TreeMap 实现,TreeMap 基于红黑树实现 特点: 有序 无重复 添加、删除元素、判断元素是否存在,效率比较高,时间复杂度为 O(log(N)) 使用方式: TreeSet ....- 盾给网
- 0
- 0
- 313
-
Java中已经数组类型,为什么还要提供集合?
数组的优点: 数组的效率高于集合类 数组能存放基本数据类型和对象;集合中只能放对象 数组的缺点: 不是面向对象的,存在明显的缺陷 数组长度固定且无法动态改变;集合类容量动态改....- 盾给网
- 0
- 0
- 365
-
为什么基本类型不能做为HashMap的键值?
Java中是使用泛型来约束 HashMap 中的key和value的类型的,HashMap<K, V> 泛型在Java的规定中必须是对象Object类型的,基本数据类型不是Object类型,不能作为键值 map.put(0, "ConstXiong")....- 盾给网
- 0
- 0
- 397
-
怎么确保一个集合不能被修改?
使用 JDK中java.util.Collections 类,unmodifiable*** 方法赋值原集合。 当再修改集合时,会报错 java.lang.UnsupportedOperationException。从而确保自己定义的集合不被其他人修改。 public class TestCollec....- 盾给网
- 0
- 0
- 325
-
Iterator和 ListIterator有什么区别?
ListIterator 继承 Iterator ListIterator 比 Iterator多方法 1) add(E e) 将指定的元素插入列表,插入位置为迭代器当前位置之前 2) set(E e) 迭代器返回的最后一个元素替换参数e 3) hasPrevious() ....- 盾给网
- 0
- 0
- 329
-
Iterator怎么使用?有什么特点?
Iterator 接口源码中的方法 java.lang.Iterable 接口被 java.util.Collection 接口继承,java.util.Collection 接口的 iterator() 方法返回一个 Iterator 对象 next() 方法获得集合中的下一个元素 hasNe....- 盾给网
- 0
- 0
- 396
-
迭代器Iterator是什么?
首先说一下迭代器模式,它是 Java 中常用的设计模式之一。用于顺序访问集合对象的元素,无需知道集合对象的底层实现。 Iterator 是可以遍历集合的对象,为各种容器提供了公共的操作接口,隔离对容器的遍历操作和....- 盾给网
- 0
- 0
- 350
-
哪些集合类是线程安全的?
Vector Stack Hashtable java.util.concurrent 包下所有的集合类 ArrayBlockingQueue、ConcurrentHashMap、ConcurrentLinkedQueue、ConcurrentLinkedDeque......- 盾给网
- 0
- 0
- 347
-
Queue的element()和peek()方法有什么区别?
Queue 中 element() 和 peek() 都是用来返回队列的头元素,不删除。 在队列元素为空的情况下,element() 方法会抛出NoSuchElementException异常,peek() 方法只会返回 null。 JDK1.8 中源码解释 /....- 盾给网
- 0
- 0
- 301
-
Queue的remove()和poll()方法有什么区别?
Queue 中 remove() 和 poll() 都是用来从队列头部删除一个元素。 在队列元素为空的情况下,remove() 方法会抛出NoSuchElementException异常,poll() 方法只会返回 null 。 JDK1.8 中的源码解释 /*....- 盾给网
- 0
- 0
- 496
-
Queue的add()和offer()方法有什么区别?
Queue 中 add() 和 offer() 都是用来向队列添加一个元素。 在容量已满的情况下,add() 方法会抛出IllegalStateException异常,offer() 方法只会返回 false 。 JDK1.8 源码中的解释 /** * Insert....- 盾给网
- 0
- 0
- 389
-
如何实现数组和List之间的转换?
数组转 List ,使用 JDK 中 java.util.Arrays 工具类的 asList 方法 public static void testArray2List() { String[] strs = new String[] {"aaa", "bbb", "ccc"}; List....- 盾给网
- 0
- 0
- 389