消除重复字符串并仅保留字符串数组中的一个

时间:2012-03-31 08:33:46

标签: java arrays string

大家好,我试图从一个数组字符串中删除所有重复的字符串,并只保留一个字符串......

假设temp []是字符串数组并包含

temp[0] = "stack";
temp[1] = "overflow";
temp[2] = "stack";
temp[3] = "stack";
temp[4] = "overflow";

在这种情况下我只需要“堆栈”和“溢出”(它可以存储到另一个字符串数组中)但保留顺序为

temp2[0] = "stack";
temp2[1] = "overflow";

假设temp2是另一个字符串数组..

3 个答案:

答案 0 :(得分:4)

java.util.LinkedHashSet会在保留订单的同时删除重复项。

temp = new LinkedHashSet<String>(Arrays.asList(temp)).toArray(new String[0]);

答案 1 :(得分:2)

使用Set

Set<String> uniqueStrings = new HashSet<String>();
uniqueStrings.add("Stack");
uniqueStrings.add("Overflow");
uniqueStrings.add("Stack");//ignored

答案 2 :(得分:0)

你需要在这里使用Set:

Set<String> set = new HashSet<String>();
set.addAll(Arrays.asList(temp));
temp2 = set.toArray();