首页 > 代码库 > [java自学第九天]

[java自学第九天]

集合类的区别

List集合类与Map集合类的区别:是否有键值(List集合类无键值,Map集合类有键值)

键:能唯一标识某一事物的值

键值是为了唯一标识某一事物而单独添加的属性,一定不要用事务本身的属性来做键值

ArrayList类和Vector类的区别与HashSet类和HashMap类的区别一样

ArrayList类和HashSet类都是线程异步的,线程异步的限制不能实现网络实时性的要求,必须是自己和自己,单机的行为才可以,具有效率高但是安全性偏低。

Vector类和HashMap类都是线程同步的,能够实现网络实时性的要求,一般用于网络,具有效率低但是安全性高的特点,注重安全性可以使用这两个类。

一般从这四个类当中进行选取。

泛型和反射机制

由于类型转换错误,Java虚拟机在编写时不会报错,而在运行时报异常,所以安全隐患非常明显,为此我们就需要泛型来弥补这一问题,提出泛型,我们在集合类中添加元素对象时,就不用强转了。

反射机制是将泛型固定的类所有方法和成员全部可以显示出来,以提供程序员可以确定程序的编写是否有误的机制。

①ArrayList a1 = new ArrayList();

 Ls Ls1 = new("薯片",5f);

 Yl yl = new("可乐",10f);

   a1.add(Ls1);

   Ls ls2 = (Ls)a1.get(0);

②Yl yl1 = (Yl)a1.get(0);

当将①语句修改为ArrayList<Ls>  a1 = new ArrayList<Ls>;

     ②语句就会编译报错,因为<Ls>的存在限定了a1这个ArrayList集合类对象只能存放Ls类。

 

[java自学第九天]