noDups()라는 기존 프로그램에 숙제를 요청하여 중복을 제거하도록 요청했습니다. 순서를 어지럽히 지 않고 이전에 정렬 된 배열에서 가져옵니다. 문제는 O (N)가있는 알고리즘이어야하며 몇 개의 중복 항목이 있더라도 두 번 이상 이동 된 항목이 없는지 확인해야합니다.긴 []을 세트로 변경. 오류 메시지 : 형식 컬렉션에있는 addAll 메서드는 인수에 적용되지 않습니다. (<Long>, 긴 [])
처음에는 중첩 된 for-loop를 순환하여 중복을 제거했지만 O (N^2)라고 알았습니다. 세트로이 문제를 풀 수 있다는 것을 알았습니다. 나는 오류가 언급 한 점점 계속
public long[] noDups(long[] target) { //Method for removing duplicates
Set<Long> set = new HashSet<Long>();
Collections.addAll(set, target);
return target;
}
: 나는 세트는 고유 한 값을 포함하고 있기 때문에, 긴 [] (상기 프로그램이 사용하는 배열의 타입) 배열에 걸릴 세트로 변환하는 방법을 쓰기 시도 제목 :
내 방법 전에"The method addAll(Collection, T...) in the type Collections is not applicable for the arguments (Set, long[])"
이처럼 보였다하지만 난 다른 오류가 있었다 :
public void noDups(long[] target){
Set<long> set = new Hashset<long>(Arrays.asList(target));
것은 내가 잘못 설정을 초기화 오전? 누구든지 오류를 없애거나 긴 []을 세트로 변환하는 올바른 방향으로 이끌어내는 방법을 알려줄 수 있습니까? 고맙습니다!