日期:2014-05-20  浏览次数:21068 次

java面试学习笔记之1

ArrayList实现了list 的接口,且允许有空值。

?

一、数组与ArrayList的主要区别:效率、类型识别和primitive type。
数组([]):最高效;但是其容量固定且无法动态改变;
ArrayList:容量可动态增长;但牺牲效率;
建议:
首先使用数组,无法确定数组大小时才使用ArrayList!


?

二、早上做了个智力题。题目是1到2010这几个数之间。将这些数围成一圈,第一次删除1、3、5、7...奇数的。之后再围成一个圈。再重复上面的操作。结果答案是1024

	主函数:main(String[] args) {
		List init = new ArrayList<Integer>();
		List jg = new ArrayList<Integer>();
		zl2010 z=new zl2010();
		
		for (int i = 1; i <= 2010; i++) {
			init.add(i);
		}
		jg =z.getList(init);
		while(jg.size()>=2){
			System.out.println(jg.size());
			jg =z.getList(jg);
		}
		System.out.println(jg.size());
		System.out.println(jg.get(0));

	}
	
	public List getList(List init){
		List result = new ArrayList<Integer>();
		for (int j = 1; j <= init.size(); j++) {
			if (j % 2 == 0) {
				result.add(init.get(j-1));
			}
		}
		return result;
	}

?

刚开始想到这个题的时候,就想到要用ArrayList 来实现 因为他的大小可以改变,有add()和remove()方法;

?

对数组进行排序:

int vec[] = {37, 47, 23, -5, 19, 56}; 
            Arrays.sort(vec); 
            for (int i = 0; i < vec.length; i++) { 
                System.out.println(vec[i]); 
            } 

?排序好后进行二分查找:注意 调用这方法前要先排序

?

 int vec[] = {-5, 19, 23, 37, 47, 56}; 
            int slot = Arrays.binarySearch(vec, 35); 
            slot = -(slot + 1); 
            System.out.println("insertion point = " + slot);

?将数组转化为list

           Object vec[] = {new Integer(37), new Integer(47)}; 
            List lst = Arrays.asList(vec); 
            lst.set(1, new Integer(57)); 
            for (int i = 0; i < vec.length; i++) { 
                System.out.println(vec[i]); 
            } 

?将list转化为数组

Object vec[] = lst.toArray();

?

javaBean命名的规范

1.一个javaBean类必须是一个公共类,类都得设置为public的

2.一个javaBean类必须有一个空的构造函数
??? 您必须有一个不带有参数的公用构造器。此构造器也应该通过调用各个特性的设置方法来设置特性的缺省值。

3.一个javaBean类不应有公共实例变量,类变量都为private

4.持有值应该通过一组存取方法(getXxx和setXxx)来访问
对于您需要的每个特性,您应该有一个带有匹配公用getter 和setter 方法的专用实例变量。

javaBean的使用

在jsp中通过两种方式来调用javaBean
1.<%@page import=""%>这时候和使用其他的类没什么区别

2.使用jsp的标签
<jsp:useBean id="sb"?????????? ----------->表示实例化对象的名称???????
???????????? scope="page"????? ----------->表示使用范围
???????????? class="具体的类"/> ----------->对象所属的包.类名称路径


然后在jsp页面可以通过
<jsp:setProperty name="sb"
???????????????? property="*"/>
来代替setter方法的调用

和<jsp:getProperty name="sb"
?????????????????? property="具体参数名"/>
来代替getter方法的调用
特别注意的是参数的名称要和javaBean的名称一致
中大型 必考考题
数据结构:
排序

时间复杂度

链表

?

?J2EE 本身就是一套标准 他包含了 jdbc jsp servlet ejb 企业级应用

?Jre? j2se runtime environment

?Jdk j2se development kit

?

?

???? J2EE 本身就是一套标准 他包含了 jdbc jsp servlet ejb 企业级应用

??? ?Jre? j2se runtime environment

??? ?Jdk j2se development kit

?

?? ?Java.lang 包含一些java语言的核心类

? ? string math integer system thread 等提供常用功能

??? Java.awt 包含了构成抽象窗口工具集(abstract window toolkits)的多个类

??? Java.applet 包含applet 运行所需的一些类

??? Java.io 包含提供多种输入和输出功能的类

??? Java.util 包含一些实用工具类,如定义系统特性,使用与日期日历相关的函数

?

????? ?J2me 移动设备 游戏

?????? 移动增值 短信 彩信 彩铃 sp 运营商

???????? Erp给企业管理? 生产 销售 物流 财务 等等 就是网上办公 网上管库存

?