Java心得23

来源:互联网 发布:淘宝店铺管理方案 编辑:程序博客网 时间:2024/06/10 03:48

    今天继续学习了集合,又学习了反射,下面就跟大家分享一下:

1、集合框架包括哪些内容?

   接口、实现类、算法

2、List的三个实现类,ArrayListVectorLinkedList各自有什么特点?

   ArrayList:使用数组实现,是一组连续空间。遍历速度快,但中间插入、删除元素速度慢,是线程不安全类。

   Vector:使用数组实现,遍历速度快,中间插入、删除元素速度慢,是线程安全类。

   LinkedList:是一组不连续空间,采用双向链表实现。元素不仅存放数据,还要存放上一个或下一个元素地址。便利速度慢,中间删除、插入速度快。

3、Set集合有什么特点?Map集合有什么特点?

   Set:元素不可重复。

   Map:键值对,一个元素可以存放两个对象,键不能重复。

4、Map集合如何添加元素?Map集合如何根据键得到值?

   添加元素:map.put();

   Product p = map.get(3);

5、Map集合如何遍历?

   Set<Integer>set = map.keySet();

for(Integer key:set){

Product pro = map.get(key);

System.out.println("键:"+key+"  值:"+pro);

}

6、集合遍历的方式有哪些?

   For循环、for each循环、迭代器

7、HashMapHashtable有什么区别?

   HashMap:允许空键、空值,线程不安全。

   Hashtable:不允许空键、空值,线程安全。

8、如何给List集合排序?

   Collections.sort(list,new Comparator<Product>() {

public int compare(Product arg0, Product arg1) {

return arg0.getPrice() - arg1.getPrice();

}

});

9、狭义javaBean规范是怎样的?为什么狭义javaBean中要求有无参构造方法?

   规范:1JavaBean必须包含一个无参构造方法。 原因:方便通过反射的方式产生对象。

         2)属性必须都是私有的。

         3JavaBean必须包含符合命名规范的getset方法,以便访问JavaBean的属性。

         4JavaBean应该是可序列化的。

10、构造方法的作用是什么?

   1)为对象在堆中分配空间

   2)如果类没有加载,则加载类

   3)初始化成员变量

   4)返回引用

11、什么是反射?

   在编译时,并不清楚应该加载哪个类,类的加载是在运行期间进行的,通过反射可以对类进行加载、探知、自审。

12、Class对象获取的方式有哪些?

   1类名.class

  2对象.getClass();

  3Class.forName("类全路径");

13、如何通过Class产生该类的对象?

14、如何得到一个类中的属性列表和方法列表?

   Class c = Product.class;

得到该类模板中的所有的公有方法列表

Method[]ms = c.getMethods();

for(Method m:ms){

System.out.println(m.getName());//得到方法

}

//得到该类模板中所有的属性列表(包括私有属性)

Field[]fs = c.getDeclaredFields();

for(Field f:fs){

System.out.println(f.getName());//得到属性名

}

15、有这样一个类:

package com.lovo;

public class Product{

public static void main(String[] aaa){

Product p = new Product();

//here

}

}

here处书写得到ProductClass对象的三种方式。

   Product.class    p.getClass()   Class.forName(“package com.lovo”)


0 0
原创粉丝点击