Map和Set

mac2022-06-30  18

1.java中对象的比较相关的三个方法 Object.equals           相等还是不相等 Comparable.compareTo    比较(内部比较,自然顺序) Comparator.compare        比较(外部比较,基于比较器) 2.如何定义一个泛型类 了解在定义时,出现在尖括号里的 ,是类型变量,并且定义时是形参 <E extends 接口/类>  对传入类型变量做约束,必须是该接口或者类的子类

泛型:作用在编译期间的 一种机制 运行期间:没有泛型的概念,背后的原理是类型擦除 3.使用泛型:通配符,谁是谁的子类的问题

SortedMap-->(继承于)Map

Map.Entry<Integer,Integer> Map.Entry就是一个元素类型 1.静态内部类 Map.Entry Entry就是一个类型,只不过挂在Map下,它是一个静态内部类 静态内部类在外部使用的方式就是Map.Entry 2.尖括号里的就是泛型    <两个类型变量>  <K的类型,V的类型>                                                                  <Integer,Integer> 这个静态内部类是一个泛型类

Map的k不能重复,v可以重复,建立K与V之间的映射关系 map.get(i);获取该处元素

打印map.get(j);   j处没有被定义,会打印null

get(k); 返回K对应的V值、

getOrDefault(k,v) 返回K对应的V值,K不存在,返回默认值 put(k,v); 设置K对应的V remove(k);删除K对应的映射关系

map.entrySet();  返回的是一个Set<Map.Entry<Integer,Integer>> 不重复的键值对

set.add(...);添加 set.contains(...),是否包含这个元素

 

以下都是接口 Map                                              Collection SortedMap(保证输出顺序)             List          Set            Queue       Deque 下面是实现类                                                SortedSet(保证输出顺序)                                                      ArrayList  LinkedList  LinkedList  LinkedList

复制带有随机指针的链表 1.普通复制不可以,因为没法处理random指向自己的结点 2.无法在复制结点的同时处理random,需要先复制结点,再处理random 3再拆分链表  

最新回复(0)