ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

2022-08-06 第六组 Myy 学习笔记_Java_集合收尾部分

2022-08-06 18:07:38  阅读:166  来源: 互联网

标签:Myy 06 HashMap 08 接口 Hashtable 集合 排序 ArrayList


集合收尾部分

List:数据是有顺序(添加的先后顺序)的,数据是可以重复。

ArrayList:内部结构是数组。比较适合左高频率的查找,遍历。

LinkedList:双向链表。比较适合做高频率的新增和删除。

 

创建对象的时候用的是多态

父类对象---子类引用

我们创建出来的对象只能调用父类和子类中都有的方法

 

 

 根据下标/索引获取指定位置的元素

 

 

面试题

1.Collection和Map接口的区别

2.ArrayList和LinkedList的区别

3.ArrayList和Vector的区别

 

Collection接口:

List:有顺序,元素可以重复,顺序指的是添加的先后顺序

Set:没有顺序,元素不可以重复,顺序指的是添加的先后顺序

 

  Set其实是有顺序的,内部有一个专门排序的算法。

  1.所谓的无序不等于随机

  2.所谓的无序指的是没有按照添加的先后顺序,其实内部是做了排序的。

引用数据类型,set集合所谓的不能重复,默认情况下比较地址

  • Integer valueOf(int i):返回一个表示指定的 int 值的 Integer 实例。

 

  Set集合如何确保里面的数据不重复?

-->保证数据类型的类要重写hashCode和equals方法。

面试题

1.List和Set的区别

2.HashSet和LinkedHashSet的区别和联系

 

TreeSet

排序规则:要排序的对象的类必须实现Comparable接口

返回值代表什么?

int代表排序结果

负数-1:比较的两个值调用者小

0:两个值相等

正数 1:比较的两个值调用者大

 

 

 LinkedHashSet:在添加数据的同时维护数据的

 

比较接口:

Comparable接口:自然排序,排序规则是固定的

Comparator接口:临时排序

 

Map接口:

1.存储对值K-V,key和value

2.key不能重复,value是可以重复的

3.没有顺序(添加的先后顺序)

 

HashMap内部存储结构

JDK1.7之前:链表+二叉树

JDK1.7及之后:链表+数组+红黑树

 

HashMap基本上面试90%问原理!

 

Hashtable和HashMap几乎一模一样

面试题:Hashtable和HashMap的区别

1.Hashtable线程异步,线程不安全;Hashtable线程同步,线程安全

2.HashMap的key是可以为null的,Hashtable是不可以为null的

 

集合的遍历

 

 

 

 

集合需要掌握的:

1.如何创建需要的集合。多态

2.主要用到的是List和Map

3.各种区别?

4.各种集合方法API的调用

5.两个比较的接口

6.各种集合的特点,从接口层面,到实现类层面

7.重点集合的内部结构

8.各种集合的遍历

9.并发问题

 

 

最重要的集合:ArrayList、HashMap

 

积压的问题:

1.Synchronized原理

2.ReentrantLock原理

3.ArrayList原理

4.LinkedList原理

5.HashMap原理**************

6.HashSet原理

 

List -- Map -- Set

 

标签:Myy,06,HashMap,08,接口,Hashtable,集合,排序,ArrayList
来源: https://www.cnblogs.com/JNMyy/p/16557611.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有