Top.Mail.Ru
Ответы
Аватар пользователя
9лет
Изменено
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+2

Помогите удалить дубликаты в слове.. Java

допустим: абвббдда --> абвд
думал так: сверять есть ли в новом массиве такой же символ, если нет - занести, есть - пропустить. только у меня возникла проблема..
Scanner scn = new Scanner(System.in);
String str;
System.out.println("Введите строку слов");
str = scn.nextLine();
String[] temp;
temp = str.split(" ");
int p=0;
int i,n,v;
String [][] c = new String[255][255];
for(i=0; i < temp.length; i++){
for (n=0; n<temp[i].length();n++){
for(v=0;v<255;v++){
if (c[i][v]!=String.valueOf(temp[i].charAt(n)))
c[i][p]=String.valueOf(temp[i].charAt(n));
}
p++;
}
}

Заношу в двумерный массив потому как у меня имеется массив слов, и мне нужно знать что было и что получилось... не знаю может я делаю какую-то глупость, но пока я учусь, и поэтому прошу помощи.

По дате
По рейтингу
Аватар пользователя
Ученик
9лет

Ну если я правильно вас понял, то вам достаточно просто добавить все символы в массив типа LinkedHashSet. Его особенность в том, что он не сохраняет дубликаты и сохраняет последовательность символом в искомом слове. Вот пример кода :

public static void main(String[] args) {
String word = "ааавлрцулкиитттурйдцссс";
LinkedHashSet word_without_dublicate = new LinkedHashSet();

for(int i = 0; i < word.length(); i++)
word_without_dublicate.add(word.charAt(i));

System.out.println(word_without_dublicate);
}