// 배열을 HashSet으로 변환 (중복이 제거됨)
HashSet<String> hashSet = new HashSet<>(Arrays.asList(arr));
// HashSet을 배열로 변환 (중복(Dup)이 제거된 배열)
arr = hashSet.toArray(new String[0]);
// 배열을 HashSet으로 변환 (중복이 제거됨)
LinkedHashSet<String> linkedhashSet = new LinkedHashSet<>(Arrays.asList(arr));
// HashSet을 배열로 변환 (중복(Dup)이 제거된 배열)
arr = linkedhashSet.toArray(new String[0]);
// 배열 -> Stream -> distinct (중복제거) -> 배열
arr = Arrays.stream(arr).distinct().toArray(String[]::new);
// 배열 sorting
//Arrays.sort(arr);
// 임시 배열 선언
String[] tempArr = new String[n];
// 중복 제거 후 array의 길이
int j = 0;
// 임시 배열 구성
for (int i=0; i<n-1; i++){
if (arr[i] != arr[i+1]){
tempArr[j++] = arr[i];
}
}
tempArr[j++] = arr[n-1];
// 중복 제거된 배열 구성
arr = new String[j];
for (int i=0; i<j; i++){
arr[i] = tempArr[i];
}
// 중복 제거 후 array의 길이
int k = 0;
// 중복되는 데이터 "" 변환
for (int i=0; i<n-1; i++){
for (int j=i+1;j<n;j++) {
if (!arr[i].equals("") && arr[i].equals(arr[j])) {
arr[j] = "";
k++;
}
}
}
String[] resultArr = new String[n-k];
int tmpindex = 0;
//새로운 배열 생성
for (String str : arr) {
if (!"".equals(str)) {
resultArr[tmpindex] = str;
tmpindex++;
}
}