9wah32mt17 发表于 2016-6-7 08:38:47

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是按键取值,更详细的示例说明,请参看:
(编程解决)List和Hashtable都是可以存储数据的,可为什么有时选择List,有时需要Hashtable,这两个有什么区别?
还有关于集合、数据方面的选择题,有些忘了,因为当时没记下来.
页: [1]
查看完整版本: 2007年8月25日华为的几个面试题