Classes & Data Structures

Classes & Objects

Objects.equals(a,b) //检验A和B的相等性
//equals方法要求具有自反性、对称性、传递性、一致性(反复调用结果应当一致),以及非空!=null
getclass().getName()//可以获得类名字符串
A instanceof B运算可以判定一个实例是否是给定类的实例

泛型

//用以下方式定义一个泛型类:
public class ClassName<T,U>{
    private T field;
    ...
}
//用以下方式定义一个泛型方法:
class ClassName {
    public <T> T getString(T a){
        ...
    }
}
//用以下方式对T的方法进行限定(良心啊):
class ClassName {
    public <T extends SomeInterfaceOrClass & SomeOtherInterface> T getString(T a){//限定使用&分隔,而类型变量用逗号分隔;限定中至多有一个是类
        ...
    }
}
//泛型类/接口可以普通地继承:
public class Something<E> implements Parent<E>

集合接口Collection

集合框架collection:接口和实现分离 Collection是一个接口,Collections是一个类

列表接口List

集合接口Set

映射接口Map

使用put添加,get访问,用Map.entry<typeA,typeB>作为变量可以for each遍历

实用数据结构

子范围/视图

如subList(a,b)取一个List的部分区间,subMap(K1,K2)取SortedMap范围内的的子集合 不可修改视图:试图修改集合时抛出异常 Collections.unmodifiable[somecollectiontype]

SortedSet<E>

建立有序集合

Last updated

Was this helpful?