2007年8月25日华为的几个面试题

1、下题的输出是什么:

/**

* 问下题的输出结果是什么?

* @author Administrator

*

*/

class A1

{

public A1()

{

System.out.print("A");

}

}

class B1

{

//如下写会出错

//new A1();放于方法内部不会出错

public B1()

{

new A1();

System.out.print("B");

}

}

public class TestPrint {

public TestPrint()

{

System.out.print("Test");

}

public static void main(String[] arg)

{

new B1();

}

}

/**

* 结果是"AB",我想有些人可能和我一样,认为结果是"ABTest",我也做错了,

* 我的思想也是一直被"如果没有其它的构造函数,默认的构造函数要被运行"

* 所占据。

*/

编程题(下面二题二选一):

1、怎么样实现自己的LinkedList

答案:继承LinkedList就可以实现了,我下面写了一个简单的:

/**

* 继承链表,用以实现自己的链表

* @author Administrator

*

*/

import java.util.Collection;

import java.util.LinkedList;

public class DoMyLinkedList extends LinkedList {

public DoMyLinkedList()

{

super();

}

public void addFirst1(Object o)

{

addFirst(o);

}

public void removeFirst1()

{

removeFirst();

}

public void add1(Object o)

{

add(o);

}

public boolean addAll1(Collection c)

{

return addAll(c);

}

public boolean remove1(Object o)

{

return remove(o);

}

void print(LinkedList ll)

{

for(int i=0;i<ll.size();i++)

{

System.out.println(ll.get(i));

}

}

public static void main(String[] arg)

{

DoMyLinkedList ll=new DoMyLinkedList();

ll.add1("a");

ll.addFirst1("b");

ll.print(ll);

ll.remove1("a");

ll.print(ll);

ll.addFirst1("c");

ll.print(ll);

}

}

2、用任意一种算法实现整型数组的排序

请参看经典排序算法(Java版)

注:

3 List Hashtable 都是可以存储数据的,可为什么有时选择 List ,有时需要 Hashtable ,这两个有什么区别?
List 是按位置取值, Hashtable 是按键取值,更详细的示例说明,请参看:

还有关于集合、数据方面的选择题,有些忘了,因为当时没记下来。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值