基础数据类型
float 和 double 可以用来表示浮点数。但是有很多算术运算操作可以产生浮点型无法表达的数字,如无限大、无限小等,这些数据的表达通过浮点数封装类(Float 和 Double)所提供的特殊属性来表达:
Float.NaN 非数字
Float.NEGATIVE_INFINITY 无限小
Float.POSITIVE_INFINITY 无限大
Double.NaN 非数字
Double.NEGATIVE_INFINITY 无限小
Double.POSITIVE_INFINITY 无限大
代码演示:
防止内存泄露代码:
按键值自动排序的Map
按键值自动排序的Map接口是java.util.SortedMap,实现java.util.SortedMap接口的是java.util.TreeMap类。java.util.TreeMap类并没有提供额外的方法,但是会按照键值自动维护键值对之间的相对顺序。
实现代码:
元素位置固定的Map
能将键值对之间的相对顺序按照插入Map的先后顺序维持的Map类是java.util.LinkedHashMap。插入的顺序是什么,显示迭代的顺序就是什么。
实现代码:
float 和 double 可以用来表示浮点数。但是有很多算术运算操作可以产生浮点型无法表达的数字,如无限大、无限小等,这些数据的表达通过浮点数封装类(Float 和 Double)所提供的特殊属性来表达:
Float.NaN 非数字
Float.NEGATIVE_INFINITY 无限小
Float.POSITIVE_INFINITY 无限大
Double.NaN 非数字
Double.NEGATIVE_INFINITY 无限小
Double.POSITIVE_INFINITY 无限大
代码演示:
double d = -5.0 / 0.0;
if (d == Double.NEGATIVE_INFINITY) {
System.out.println("d 的值为负无穷");
}
防止内存泄露代码:
Vector v = new Vector(10);
for (int i = 0; i < 100; i++) {
Object o = new Object();
v.add(o);
o = null;
}
按键值自动排序的Map
按键值自动排序的Map接口是java.util.SortedMap,实现java.util.SortedMap接口的是java.util.TreeMap类。java.util.TreeMap类并没有提供额外的方法,但是会按照键值自动维护键值对之间的相对顺序。
实现代码:
SortedMap<String,String> map = new TreeMap<String, String>();
元素位置固定的Map
能将键值对之间的相对顺序按照插入Map的先后顺序维持的Map类是java.util.LinkedHashMap。插入的顺序是什么,显示迭代的顺序就是什么。
实现代码:
LinkedHashMap<String,String> map = new LinkedHashMap<String,String>();