当前位置:网站首页 > Java基础 > 正文

java基础笔记分享



集合框架

 

Collection 接口的常用方法

 

注意当一个集合存在相同元素时某些方法的调用
注意点:Arrays.asList()

 

forEach 方法

 

迭代器

遍历

 

删除集合元素

 

注意:当创建一个迭代器时,迭代器指向的是集合的 “前一个元素”

foreach 遍历

 

List 接口

java基础笔记分享

ArrayList

List 接口的主要实现类,线程不安全,故效率高,底层使用 Object[] elementData 存储

LinkedList

底层使用双向链表,故插入删除效率高

Vector

线程安全,故效率低,底层使用 Object[] elementData 存储

List 接口中的常用方法

 

Set 接口

HashSet

Set 接口的主要实现类,线程不安全,可以存储 null 值(一般会重写 hashcode 方法和 equals 方法)

LinkedHashSet

HashSet 的子类:遍历其内部数据时,可以按照添加的顺序遍历

TreeSet

放入的数据必须同一类的对象,可以按照添加对象的指定属性进行排序,底层用红黑树实现
自然排序:对象需要实现 Comparable 接口并实现 compareTo 方法
定制排序

 

添加元素的过程:以HashSet为例:

我们向HashSet中添加元素a,首先调用元素a所在类的hashCode()方法,计算元素a的哈希值, 此哈希值接着通过某种算法计算出在HashSet底层数组中的存放位置(即为:索引位置),判断数组此位置上是否已经有元素:

  • 如果此位置上没有其他元素,则元素a添加成功。 —>情况1
  • 如果此位置上有其他元素b(或以链表形式存在的多个元素),则比较元素a与元素b的hash值:
    ----如果hash值不相同,则元素a添加成功。—>情况2
    ----如果hash值相同,进而需要调用元素a所在类的equals()方法:
    -------- equals()返回true,元素a添加失败
    --------equals()返回false,则元素a添加成功。—>情况3
  • 对于添加成功的情况2和情况3而言:元素a 与已经存在指定索引位置上数据以链表的方式存储。
    jdk 7 :元素a放到数组中,指向原来的元素。
    jdk 8 :原来的元素在数组中,指向元素a
    总结:七上八下
    HashSet底层:数组+链表的结构。

Map 接口

Map 接口的常用方法

 

HashMap

作为 Map 接口的主要实现类。线程不安全,效率高。key 和 value 可以为 null。

LinkedHashMap

HashMap 的子类:遍历其内部数据时,可以按照添加的顺序遍历

TreeMap

放入的数据必须同一类的对象,可以按照添加对象的指定属性进行排序,底层用红黑树实现
自然排序:对象需要实现 Comparable 接口并实现 compareTo 方法
定制排序

 

Hashtable

作为古老的实现类。线程安全,效率低。key 和 value 不可以为 null。

Properties

Hashtable 的子类。常用来处理配置文件。key 和 value 都是 String 类型。

Map 的遍历

 

 

Conllections 工具类

尚硅谷 java 笔记 尚硅谷java基础笔记_数组

尚硅谷 java 笔记 尚硅谷java基础笔记_尚硅谷 java 笔记_02

 

因此可以使用这种方式创建 dest

 

  • 上一篇: java三大基础
  • 下一篇: java基础知识继承
  • 版权声明


    相关文章:

  • java三大基础2024-11-17 13:58:00
  • 夯实java基础的书籍2024-11-17 13:58:00
  • 老杜java零基础视频笔记2024-11-17 13:58:00
  • java方法调用基础数据类型2024-11-17 13:58:00
  • java核心基础笔试题2024-11-17 13:58:00
  • java基础知识继承2024-11-17 13:58:00
  • 学习java要什么基础2024-11-17 13:58:00
  • 学会java基础学c2024-11-17 13:58:00
  • java基础知识题目和答案2024-11-17 13:58:00
  • 学java需要数学基础2024-11-17 13:58:00