
java集合类
1. Collection:是一个接口,包含了大部分容器常用的一些方法 2. List:是一个接口,规范了 ArrayList 和 LinkedList 中要实现的方法 3. ArrayList:实现了 List 接口,底层为动态类型顺序表 4. LinkedList:实现了 List 接口,底层为双向链表 5. Stack:底层是栈,栈是一种特殊的顺序表 6. Queue:底层是队列,队列是一种...

1. Collection:是一个接口,包含了大部分容器常用的一些方法 2. List:是一个接口,规范了 ArrayList 和 LinkedList 中要实现的方法 3. ArrayList:实现了 List 接口,底层为动态类型顺序表 4. LinkedList:实现了 List 接口,底层为双向链表 5. Stack:底层是栈,栈是一种特殊的顺序表 6. Queue:底层是队列,队列是一种...
官方文档 Collections 和 Collection,名字看起来很相似,但实际上它们是 两个完全不同的东西 !不过,它们确实有一些关系,主要体现在 Collections是为了操作 Collection接口的集合类提供了很多常用的工具方法 。 方法 作用 示例 sort() 对 List 排序 Collections.sort(list); reverse()...

Map是一个接口类 ,该类没有继承自 Collection,该类中存储的是 <K,V 结构的键值对,并且 K 一定是唯一的,不能重复 。 https://docs.oracle.com/javase/8/docs/api/index.html ☠注意事项 : 1. 内置类型不能直接来实例化 HashMap,必须要找其对应的包装类型 2. 在 TreeMap中的 key不能为空 ,否则就会抛 Nul...

Java 集合框架中提供了 PriorityQueue 和 PriorityBlockingQueue 两种类型的优先级队列,PriorityQueue 是线程不安全的,PriorityBlockingQueue 是线程安全的,下面主要介绍 PriorityQueue。 使用注意事项: 1. 使用时必须导入包:import java.util.PriorityQueue; 2. PriorityQ...

常见方法如下所示: 其中 peek() 就相当于是 std::stack 中的 top()。 注意事项: 1. 在比较元素相同的时候,要使用 equals(),因为就算存储的是整数 Stack<Integer 类型,里面仍然是引用类型,不能直接通过 来比较 ! 2. 因为 Stack 继承于 Vector,而 Vector 中还有很多实用的方法比如 size() 方法等,都是可以使用的,但由于 ...

LinkedList 的底层是双向链表结构 ,由于链表没有将元素存储在连续的空间中,元素存储在单独的节点中,然后通过引用将节点连接起来了,因此在任意位置插入或者删除元素时,不需要搬移元素,效率比较高。 LinkedList 没有实现 RandomAccess 接口,因此 LinkedList 不支持随机访问 。 对于 LinkedList 来说,它的接口和 ArrayList 的接口基本是一样的,...

官方文档 构造函数有以下泛型参数:(其它有该构造函数的集合类均可这样子处理) 注意事项: 1. 长度方法的区别: 1. 数组用 .length 获取元素长度 2. String 用 .length() 获取元素长度 3. 集合类用 .size() 获取元素长度 4. ArrayList不是线程安全的 ,在单线程下可以使用,在多线程中可以选择 CopyO...

在 Java 中,由于基本类型不是继承自 Object,为了在泛型代码中可以支持基本类型,Java 给每个基本类型都对应了一个包装类型,如下图所示: 所谓的装箱其实就是将基本数据类型转化为包装类,而拆箱就是将包装类转化为基本数据类型。 为了减少开发者的负担,java 提供了自动机制,即不需要强制类型转换 ! Java 对 Integer 类型在 [128, 127] 之间的值进行了缓存 ,目的是...
常见的 Java 8 Stream API 可以分成几类:创建、转换、中间操作、终止操作。 创建操作 :得到一个流对象 中间操作 :返回的还是一个新的流(lazy,不会真正执行) 终止操作 :才会触发整个流水线的执行,产生结果(数值、集合、Optional 等) 方法 说明 示例 Stream.of(T...) 由一组元素创建 Stream.of(1,2,3) ...