TreeSet i HashSet nie usuwają duplikatów.

TreeSet i HashSet nie usuwają duplikatów.
KV
  • Rejestracja:ponad 8 lat
  • Ostatnio:prawie 7 lat
  • Postów:59
0

Hej,

Jest tak:

Kopiuj
int[] table = new int[]
		{ 4, 4, 3, 6, 8, 7, 1, 25, 4, 12, 13, 3, 6, 5, 4, 4 };

		List<Integer> table2 = new ArrayList<>();

		for (int i = 0; i < table.length; i++)
		{

			table2.add(table[i]);

		}

		System.out.println("Table2 \n"+table2);
		
		System.out.println("Zamieniam na set, aby usunąć duplikaty.");
		
		Set<Integer> tableSet = new HashSet<>(table2);

		System.out.println(table2);
		
		System.out.println("I nic z tego, nie wychodzi.");

O co chodzi?
W necie piszą, że trzeba nadpisać equlas() i hashCode().
Mam nadpisać je w klasie ArrayListTest, w której mam main() i sie bawie listami?
Pogubiłem się.

jarekr000000
  • Rejestracja:ponad 8 lat
  • Ostatnio:około 10 godzin
  • Lokalizacja:U krasnoludów - pod górą
  • Postów:4709
3

Jak najbardziej wychodzi, o ile tylko wyświetlisz dobry obiekt:

Kopiuj
        System.out.println(tableSet);

        System.out.println("I od razu lepiej");

jeden i pół terabajta powinno wystarczyć każdemu
edytowany 1x, ostatnio: jarekr000000
KV
  • Rejestracja:ponad 8 lat
  • Ostatnio:prawie 7 lat
  • Postów:59
0

Uuujjjjjjjjjjjjjjj....
Przepraszam za zawracanie głowy.
Nie patrzę, co robię.

jarekr000000
Nie ma problemu. Lepiej spytać, niż siedzieć 5 godzin nad głupią "literówką". Powodzenia.
KV
  • Rejestracja:ponad 8 lat
  • Ostatnio:prawie 7 lat
  • Postów:59
0

Dzięki:)

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.