论坛首页 招聘求职论坛

一道面试题

浏览 8146 次
锁定老帖子 主题:一道面试题
精华帖 (0) :: 良好帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2010-07-09  
面试的时候,遇到一道题:
将一个数组的元素重新存储到Collection中并返回。需考虑方法的通用性。提示,使用泛型

感觉应该不难,但对泛型用的比较少,没答出来,不知怎么写。
   发表时间:2010-07-09  
没太看明白, 把数组的元素存到collection中,再把collection返回?
0 请登录后投票
   发表时间:2010-07-09  
Zahir 写道
没太看明白, 把数组的元素存到collection中,再把collection返回?

对,差不多就这个意思吧。把数组的元素放到集合中
0 请登录后投票
   发表时间:2010-07-09   最后修改:2010-07-09
应该考的是泛型的应用吧
0 请登录后投票
   发表时间:2010-07-10  
参考一下Arrays.asList()
0 请登录后投票
   发表时间:2010-07-11  
yutianl 写道
面试的时候,遇到一道题:
将一个数组的元素重新存储到Collection中并返回。需考虑方法的通用性。提示,使用泛型

感觉应该不难,但对泛型用的比较少,没答出来,不知怎么写。



其实这个是很基本的面试题
可以按如下设计
注:
面试题中的Collection指的是集合的接口Collection的实现类有Vector、List和Set,具体点有ArrayList\LinkeList\HashSet\TreeSet等,下面只列出了一种,用到是稍做更改就可以了
T代表数组的类型,这样就考虑到了方法的通用性

public void arrayToCollection(T arr[]){

ArrayList<T> arrayList=new ArrayList<T>();

for(int i=0;i<arr.length;i++){
arrayList.add(arr[i]}
}

}
0 请登录后投票
   发表时间:2010-07-11  
liang86 写道
yutianl 写道
面试的时候,遇到一道题:
将一个数组的元素重新存储到Collection中并返回。需考虑方法的通用性。提示,使用泛型

感觉应该不难,但对泛型用的比较少,没答出来,不知怎么写。



其实这个是很基本的面试题
可以按如下设计
注:
面试题中的Collection指的是集合的接口Collection的实现类有Vector、List和Set,具体点有ArrayList\LinkeList\HashSet\TreeSet等,下面只列出了一种,用到是稍做更改就可以了
T代表数组的类型,这样就考虑到了方法的通用性

public void arrayToCollection(T arr[]){

ArrayList<T> arrayList=new ArrayList<T>();

for(int i=0;i<arr.length;i++){
arrayList.add(arr[i]}
}

}

真的假的,这么简单的吗???
0 请登录后投票
   发表时间:2010-07-12  
是不是要自己写个 class List<E>..
0 请登录后投票
   发表时间:2010-07-12  
public void arrayToCollection(T arr[],Collection<T> coll){ 

for(int i=0;i<arr.length;i++){ 
coll.add(arr[i]} 

} 



正解

0 请登录后投票
   发表时间:2010-07-12  
/**
     * Returns a fixed-size list backed by the specified array.  (Changes to
     * the returned list "write through" to the array.)  This method acts
     * as bridge between array-based and collection-based APIs, in
     * combination with <tt>Collection.toArray</tt>.  The returned list is
     * serializable and implements {@link RandomAccess}.
     *
     * <p>This method also provides a convenient way to create a fixed-size
     * list initialized to contain several elements:
     * <pre>
     *     List<String> stooges = Arrays.asList("Larry", "Moe", "Curly");
     * </pre>
     *
     * @param a the array by which the list will be backed.
     * @return a list view of the specified array.
     * @see Collection#toArray()
     */
    public static <T> List<T> asList(T... a) {
return new ArrayList<T>(a);
    }
1 请登录后投票
论坛首页 招聘求职版

跳转论坛:
Global site tag (gtag.js) - Google Analytics