概要
上篇文章已经总结了最原始的集合接口 Collection 和 工具类 Iterator 迭代器。这篇文章将更全面的梳理一下 Java 集合体系。
在 Java 中,集合类主要是从 Collection 和 Map 这两个接口 extends 或者 implements 来的。
Collection 体系树图:
概要
上篇文章已经总结了最原始的集合接口 Collection 和 工具类 Iterator 迭代器。这篇文章将更全面的梳理一下 Java 集合体系。
在 Java 中,集合类主要是从 Collection 和 Map 这两个接口 extends 或者 implements 来的。
Collection 体系树图:
概要
与现代等数据结构类库一样(C++ 中的 STL),Java 集合类库也将接口与实现分离。值得一提的是从 Java 1.5 之后,集合类都是带有类型参数的泛型类,这对于开发带来的便利性不言而喻。
集合接口Collection
在 Java 类库中,集合类的基本接口是 Collection 接口。Collection 只表示一组对象,这些对象也称之为 collection 的元素。一......
更多补充内容请看:协变与逆变 文章。
泛型程序设计可以使我们编写的代码可以被很多不同类型的对象所重用,比起杂乱无章的使用 Object 变量,然后再进行强制类型转换的代码具有更好的安全性和可读性。下面就来总结下泛型程序设计的要点。
泛型类
泛型类就是具有一个或者多个类型变量的类。下面就是一个简单的泛型类:
public class Pair<T, U> {......
在 Java1.7 版本之前,switch case 能够用来比较 byte, short, int, char, enum(枚举类型是通过该常量在所有枚举常量中的序号进行比较的)。在 Java1.7 版本之后 switch case 增加了对 String 的比较能力。像 byte, short, char 等都是通过数值及转换成对应的数值进行比较的,那么 String 又是如何比较的呢?为了一......
strictfp
strictfp,即strict float point(精确浮点)
strictfp 关键字可以用于类,接口和方法。使用 strictfp 关键字声明一个方法时,该方法中的所有浮点数计算都要严格遵守 IEEE-754 规范。同理类和接口一样。加 strictfp 关键字可以防止不同的硬件平台上浮点数计算结果不一致。(但是我在 windows 和 linux 下都试过相同的......