01/10/2018, 17:14
Lấy các phần tử không trùng nhau trong mảng
Anh chị cho e hỏi với a, trong python có hàm set() để lấy ra các giá trị trong list không lặp thì trong java có hàm nào thực hiện chức năng tương tự không ạ?
em cảm ơn trước ạ.
Bài liên quan





Không liên quan đến Java nhưng
bạn đang hiểu sai rồi.
https://docs.python.org/3/library/functions.html#func-set
Trả về 1 object set, với element lấy ra từ
iterable.iterablekhông nhất thiết phải là list.Vậy set object là cái gì?
https://docs.python.org/3/library/stdtypes.html#types-set
Một thứ gì đó chứa các object hash được và phân biệt.
Như trong các ví dụ trên, kết quả trả về là 1 set object chứa các giá trị phân biệt trong các iterator nạp vào.
Thấy có distinct, hashable, thử search google qua 1 vòng:
Print All Distinct Elements of a given integer array - GeeksforGeeks
Given an integer array, print all distinct elements in array. The given array may contain duplicates and the output should print every element only once.… Read More »
Kết quả: Tống hết array vào
HashSet<>. Tất cả những phần tử trong HashSet là các phần tử phân biệt của array.Demo xem ở link trên.
Xem link dưới để biết cụ thể hơn về HashMap:
HashSet trong java - VietTuts
Lớp HashSet trong java được sử dụng để tạo một bộ sưu tập sử dụng bảng băm để lưu trữ. HashSet chỉ chứa các phần tử duy nhất Sự khác nhau giữa List và Set.
Vâng, cảm ơn ạ,
Không có bạn ạ Nhưng chúng ta có thể tự tạo một hàm để làm điều đó
Giả sử mình có một
ArrayList<Integer> arrthì chúng ta có thể dùng cách này để tìm phần tử không trùng:Giải thích:
arr.indexOf(i)sẽ trả về vị trí đầu tiên của phần tử i trongArrayList arr.arr.lastIndexOf(i)sẽ trả về vị trí cuối cùng của phần tử i trongArrayList arr.Vậy thì nếu
arr.indexOf(i) == arr.lastIndexOf(i)thì có phải là vị trí đầu tiên trùng với vị trí cuối cùng ==> Phần tử đó chỉ xuất hiện 1 lần trongArrayList arrP/s: Cách của mình phải sử dụng
ArrayList. Nếu bạn muốn dùng choint[]thì sẽ phải chạy thêm vòng for để add phần tử vàoArrayListnhéBỏ collection vào constructor của
Set, tuỳ vào constructor dùng interfaceComparablehay interfaceComparatorđể hiện thựcConstructor của
TreeSet, lấy từ JavaDocshttps://docs.oracle.com/javase/7/docs/api/java/util/TreeSet.html
Danh sách vài class implement interface
CollectionAbstractCollectionAbstractListArrayListVectorAbstractQueueAbstractSetEnumSetHashSetTreeSetvâng, cảm ơn ạ, mk làm được r ạ,
vâng, cảm ơn ạ, mk làm được r ạ
Theo mình thì tạo List trước sau đó chuyển List thành Set là ok à
stackoverflow.com
Easiest way to convert a List to a Set in Java