A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© gzbbxu 中级黑马   /  2013-6-28 06:09  /  1464 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 孙百鑫 于 2013-6-30 08:48 编辑

有这个方法可是不太理解
String s[100]
HashSet   hs   =   new   HashSet();
   for(int r = 0;i < s.length;r++){
       hs.add(s[r]);  
    }
        s = (String[])hs.toArray(new String[0]);

评分

参与人数 1技术分 +1 收起 理由
孙百鑫 + 1 神马都是浮云

查看全部评分

7 个回复

倒序浏览
new String[0];是什么意思?
回复 使用道具 举报
toArray()方法的重载形式,可以返回一个指定类型的数组。参数是作为存放该方法取出集合中元素的的容器。

在楼主的这个例子里,new String[0]一是为了满足方法格式,作为参数使用。二是为了限定返回的的数组类型为String类型。

至于这个数组到底new多长是无所谓的,因为这个方法如果返回的数组超过了这个给定的数组长度,系统会重新分配一个新的同类型数组用于存储获取集合得到的元素。

评分

参与人数 1技术分 +1 收起 理由
孙百鑫 + 1 神马都是浮云

查看全部评分

回复 使用道具 举报
学习学习!
回复 使用道具 举报
通过查阅API:
<T> T[] toArray(T[] a)返回包含此 collection 中所有元素的数组;返回数组的运行时类型与指定数组的运行时类型相同。如果指定的数组能容纳该 collection,则返回包含此 collection 元素的数组。否则,将分配一个具有指定数组的运行时类型和此 collection 大小的新数组。
假定 x 是只包含字符串的一个已知 collection。以下代码用来将 collection 转储到一个新分配的 String 数组:

     String[] y = x.toArray(new String[0]); 注意,toArray(new Object[0]) 和 toArray() 在功能上是相同的。

评分

参与人数 1技术分 +1 收起 理由
孙百鑫 + 1 神马都是浮云

查看全部评分

回复 使用道具 举报
Set里面的值都是唯一的,把S中的字符串存入HashSet时,重复值进不去,从而保证里面的值都是唯一的。得到的HashSet就是S中没有重复的元素。再把HashSet重新转变成字符串数组。

评分

参与人数 1技术分 +1 收起 理由
孙百鑫 + 1

查看全部评分

回复 使用道具 举报
string自身就具备比较性,根本不用去比较了,直接往集合里添加就行了
回复 使用道具 举报
楼主您好,帖子长时间没有动态我已经将您的帖子改成已解决。如有问题请私密我哦~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马