摘要:
Map用于保存具有映射关系的数据,Map里保存着两组数据:key和value,它们都可以使任何引用类型的数据,但key不能重复。所以通过指定的key就可以取出对应的value。Map接口定义了如下常用的方法:1、void clear():删除Map中所以键值对。2、boolean containsKey(Object key):查询Map中是否包含指定key,如果包含则返回true。3、boolean containsValue(Object value):查询Map中是否包含指定value,如果包含则返回true。4、Set entrySet():返回Map中所包含的键值对所组成的Set集合 阅读全文
摘要:
Queue模拟了队列这种数据结构,即先进先出。通常队列不允许随机访问队列中的元素。它定义了以下几个方法:1、void add(Object e):将指定元素加入队列的尾部。2、Object element():获取但不删除队列头部的元素。3、boolean offer(Object e):将指定元素加入队列的尾部。当使用有容量限制的队列时,此方法比add()好。4、Object peek():获取但不删除该元素,如果队列为空,则返回null。5、Object poll():获取并删除队列头部的元素,如果队列为空,则返回null。6、Object remove():获取并删除队列头部的元素。Pr 阅读全文
摘要:
List集合代表一个有序的集合,里面的元素可以重复。可以通过索引来访问指定集合元素,因为它默认按元素的添加顺序设置元素的索引。List作为Collection接口的子接口,可以使用Collection里的全部方法,List还增加了一些根据索引操作元素的方法:1、void add(int index,object element):将element插入List的index中。2、boolean addAll(int index,Collection c):将集合c所包含的所有元素都插入List集合的index处。3、Object get(int index):返回集合index处的元素。4、in 阅读全文
摘要:
Set接口:与collection基本上完全一样,它没有提供任何额外的方法,实际上set就是collection,只是行为不同(set不允许包含重复元素)。一、HashSetHashSet是Set接口的典型实现,HashSet按hash算法来存储元素,因此具有很好的存取和查找性能。它具有以下特点:1、不能保证元素的排列顺序,顺序有可能发生变化。2、HashSet是异步的。3、集合元素值可以是null。4、当向HashSet集合中存入一个元素时,HashSet会调用该对象的hashCode()方法来得到该对象的hashCode值,然后根据该HashCode值来确定该对象在HashSet中存储的位 阅读全文
摘要:
Iterator接口也是java集合框架的成员,但它与Collection、Map系列的集合不一样。Collection、Map系列集合用于盛装对象,而Iterator用于遍历集合中的元素,所以Iterator对象也被称为迭代器。Iterator接口定义了一下方法:1、 boolean hashNext():如果迭代的集合元素还没被遍历,则返回true2、 Object next():返回集合里下一个元素。3、Void remove():删除集合里上一次next方法返回的元素。public static void main(String[] args) {Collection c1=new . 阅读全文
摘要:
Collection接口是List、Set、Queue接口的父接口,它定义了以下方法:1、 boolean add(object o):该方法用于向集合里添加一个元素,如果集合对象被添加操作改变了则返回true。2、 boolean addAll(collection c):该方法把集合c里的所有元素添加到指定集合里,如果集合对象被添加操作改变了则返回true。3、 void clear():清除集合里的所有元素,将集合长度变为0.4、 boolean contains(object o):返回集合里是否包含指定元素。5、 boolean containAll(collection c):返回 阅读全文
摘要:
Set代表无序、不可重复的集合。Set集合无法记住添加元素的顺序,所以它里面的元素不能重复;List代表有序、重复的集合。它非常像一个数组,可以记住没次添加元素的顺序;Map代表具有映射关系的集合。它里面的每个数据都是由键值对组成的;Queue代表一种队列集合实现。 访问LIst集合中的元素可以直接根据元素的索引来访问;访问Map集合中的元素可以根据每项元素的key来访问其value;访问Set集合中元素只能根据元素本身来访问(这也是Set里不允许重复元素的原因)。List结构的集合类:ArrayList类,LinkedList类,Vector类,Stack类Map结构的集合类:HashMap 阅读全文
摘要:
1、strictfp的含义是FP-strict,也就是精确浮点的意思。在java虚拟机进行浮点运算时,如果没有指定strictfp,java的编译器和运行时环境在对浮点运算上不一定令人满意。一旦使用了strictfp来修饰,那么java的编译器和运行时环境会完全依照浮点规范IEEE-754来执行,即浮点运算会更加精确。2、native修饰的方法类似于一个抽象方法,于抽象方法不同的是,native方法通常用c语言来实现。如果某个方法需要利用平台相关特性或访问系统硬件等,则可以把该方法使用native修饰,再把该方法交给c去实现。一旦java程序包含了naive方法,这个程序将失去跨平台的功能。3 阅读全文
摘要:
实例有限而固定的类成为枚举类,例如:季节类,它只有四个对象;行星类,它只有九个对象。枚举类与普通类的区别:1、使用enum定义的枚举类默认继承了java.lang.Enum类,而不是Object类。其中java.lang.Enum类实现了java.lang.Serializable和java.lang.Comparable两个接口。2、枚举类的构造器只能用private修饰,如果省略则系统默认使用private。3、枚举类的所有实例必须在枚举类中显式列出,而且系统会自动添加public static final修饰。4、所有枚举类都提供了一个values方法。该方法可以很方便地遍历所有枚举值。 阅读全文
摘要:
编写java程序时,引用变量只能调用它编译时类型的方法,而不能调用它运行时类型的方法,即使它实际所引用对象确实包含该方法。引用类型之间的转换只能把一个父类变量转换成子类类型。如果试图把一个父类实例转换成子类类型,则必须这个对象实际上是子类实例才行(即编译时类型为父类类型,运行时为子类类型),否则会发生ClassCastException异常。public class Test {public static void main(String[] args) {Object o1=new Object();//o1的编译类型是Object,实际类型是Object,是string的父类,所以可以强. 阅读全文