一. == 和 equals
1. ==和equals在绝大部分时候,作用是相同的。
a.== 可以作用在 [基本数据类型] [类]
b.equals 只能作用在类上。(类的方法)
c.都是比较的对象指向的地址
2. equals 被一些类重载的时候,改写其内部实现,== 和 equals 的作用就不相同。
String, Integer,Date 等一些类 重载并改写了equals 的内部实现, 使其是比较的是对象内部存储的值。
二. Collection 集合
Collection:来源与 Java.util 包. 主要包含3类数据结构
a. List
b. Set
c. Queue
以上都是接口类。
1. List 常用实现类有以下3种:
a. ArrayList:
ArrayList 是基于数组的, ArrayList 是无序的,它按照添加的先后顺序排列。如果要对 ArrayList 进行排序,可以调用它的 sort()方法。并提供一个 Comparator 比较器。
ArrayList 是线程不安全的。所以效率高.
ArrayList 因为是基于数组, 查询快,插入和删除慢
b. LinkedList
LinkedList 是基于链表的,它是一个双向链表,每个节点维护了一个 prev 和 next 指针。同时这个链表维护了
first 和 last指针,分别指向第一个元素和最后一个元素。它也是一个无序列表,也是按照插入的先后顺序。
LinkedList 也是线程不安全的。所以效率高.
LInkedList 因为是基于链表的,查询慢,插入和删除快
c. Vector
Vector 和 ArrayList 非常类似,但Vector 是线程安全的。所以效率低
2. set(集合) 无序,不可重复,常用实现类有以下3种:
a. HashSet
hashset 是用hashmap 实现,于hashmap 区别 没有重复。
hashset (hashmap) 都是线程不安全的数据结构
b. TreeSet
底层数据结构是红黑树
TreeSet 是一个有序的集合, TreeSet的性能比HashSet差
c. LinkedHashSet
底层数据结构是由哈希表和链表组成。
LinkedHashSet 是不重复的,按插入的顺序排序。
LinkedHashSet 是线程不安全的。
java 基础知识
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。