常用api与集合(黑马)

【Java入门基础视频教程,java零基础自学就选黑马程序员Java入门教程(含Java项目和Java真题)】https://www.bilibili.com/video/BV1Cv411372m?p=140&vd_source=9f87a7ce44630c11c1428c5f90d42fbb

Objects工具类

Objects是一个static final工具类,提供一系列静态方法

包装类

其实用valueof就行


StringBulider

工具类 操作String 效率比String高

StringBuffer

功能与StringBuilder几乎一样 区别在于StringBuffer是线程安全的

StringBuilder是线程不安全的

BigDecimal

解决浮点数计算失真的问题

小知识:Cctrl+shift+空格 显示代码建议

集合

List和Set

collection集合常用方法

迭代器

1.

其实就是用迭代器对集合实现遍历

2.增强for循环可以用于遍历集合(相当于用迭代器遍历集合)

例:Collection c

for(type elem : c){} 每轮循环遍历到元素赋值给elem

3.forEach方法+lambda表达式遍历集合

本质:foreach方法的参数是一个函数式接口Consumer,可以将其表示为lambda表达式;forEach会对集合做遍历,每次赋值给String s,函数体对s进行操作(例如sout)

注意最后一种简化方法

ArrayList和LinkList

其实就是顺序表和链表的实现 性质完全可以背板 功能直接查表

HashSet

hashset 基于数组(哈希表)+链表(拉链法处理冲突)+红黑树(JDK8后拉链法的链表改进成红黑树:链表长度超过8,数组长度超过64)

如果想让hashset将两个内容一样的不同对象视作相同对象(只保存一份),(默认这两份是都会保存的,因为本质上是两个不同对象,hashcode不同且地址上来看不euqal),需要重写类的hashcode的方法和equals方法;公式化操作:alt+insert,选equals()和hashcode()

LinkedHashSet

有序

在hashset的基础上,用一个双链表存储位置信息

TreeSet

可排序

基于红黑树实现排序 默认升序从小到大

自定义对象无法排序 需要自定义排序规则

如果类本身实现了Comparable接口,TreeSet自带比较器,默认使用自带的

可变参数

可变参数外部是任意传入;内部本质是一个数组;

注意两个注意事项,可变参数只能有一个,只能放在参数列表的最后

Collectiongs工具类

Map集合

Map常用方法

Map三种遍历

最好用的:第三中 lambda表达式

map.forEach((k,v)->{//逻辑实现});

Map和Set关系

Set基于Map实现,只不过只使用键,不需要使用值

集合的嵌套

概念:集合的元素是一个集合

posted @ 2024-01-25 00:29  AUTI_SMER  阅读(51)  评论(0)    收藏  举报