我有價值的字符串作爲|| HelpDesk || IT人員|| IT人員|| Admin ||審計|| HelpDesk ||如何刪除具有分隔符的字符串中的重複值
我正在嘗試編寫代碼,它應該刪除重複項並返回保留demiliters的唯一值,例如:|| HelpDesk || IT Staff || Admin || Audit ||
我的代碼是使用HashSet刪除重複,但問題是它是刪除分隔符。如何僅通過刪除重複值來保留分隔符。
以下是刪除重複項並添加回分界符後的代碼。但不知道是否有這樣做的簡單方法。
public static void main(String[] args) {
TestDuplicates testDuplicates = new TestDuplicates();
String bRole = "||HelpDesk||IT Staff||IT Staff||Admin||Audit||HelpDesk||";
List<String> listWithoutDuplicates = new ArrayList<String>();
String noDup = "";
List<String> splittedStringList =
new ArrayList<String>();
SplitOperations splitOperations =
new SplitOperations();
splittedStringList =
splitOperations.splitString(bRole);
for (int i = 0; i < splittedStringList.size(); i++) {
HashSet<String> listToSet = new HashSet<String>(splittedStringList);
listWithoutDuplicates = new ArrayList<String>(listToSet);
}
for(int i=0;i<listWithoutDuplicates.size();i++){
noDup = noDup + "||"+listWithoutDuplicates.get(i);
System.out.println(listWithoutDuplicates.get(i));
}
System.out.println("No Duplicate is::"+ noDup+"||");
}
感謝
分割字符串由''||(您需要逃避這些字符,或使用'Pattern.quote')。從Set中的元素構造String時,可以返回分隔符。 – 2014-12-06 08:39:06
願我們知道你嘗試過這麼遠嗎? – SMA 2014-12-06 08:40:13
考慮從HashSet中提取獨特的元素出來後回加的分隔符。 – user314104 2014-12-06 08:42:48