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 是按键取值,更详细的示例说明,请参看:

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

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值