集合类的区别
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类。
时间: 2024-10-24 17:21:32