Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package a;
- import java.util.Arrays;
- import java.util.HashSet;
- import java.util.Set;
- public class Main {
- public static void main(String[] args) {
- Set<String> uniqueStrings = new HashSet<>();
- uniqueStrings.add("Hi");
- uniqueStrings.add("Hi");
- System.out.println(uniqueStrings.size()); // დაბეჭდავს 1-ს
- Set<AnyObject> uniqueObjects = new HashSet<>();
- AnyObject a = new AnyObject("foo", 1);
- AnyObject b = new AnyObject("foo", 1);
- uniqueObjects.add(a);
- uniqueObjects.add(b);
- System.out.println(uniqueObjects.size()); // დაბეჭდავს 1-ს
- AnyObject c = new AnyObject("foo", 2);
- uniqueObjects.add(c);
- System.out.println(uniqueObjects.size()); // დაბეჭდავს 2-ს
- AnyObject[] array = uniqueObjects.toArray(new AnyObject[uniqueObjects
- .size()]);
- System.out.println(Arrays.toString(array)); // საბოლოო მასივი უნიკალური
- // ელემენტებით
- }
- static class AnyObject {
- private String foo;
- private int bar;
- public AnyObject(String foo, int bar) {
- super();
- this.foo = foo;
- this.bar = bar;
- }
- @Override
- public int hashCode() {
- // საჭიროა ჰეშკოდის გადაფარვაც
- return bar;
- }
- @Override
- public boolean equals(Object obj) {
- if (!(obj instanceof AnyObject)) {
- return false;
- }
- // აქ უნდა გადაწყვიტო რას ნიშნავს ორი AnyObject-ის ეგზემპლარის
- // ტოლობა
- // სიმარტივისთვის შევადაროთ მარტო bar ველები
- return ((AnyObject) obj).bar == bar;
- }
- @Override
- public String toString() {
- return "AnyObject [foo=" + foo + ", bar=" + bar + "]";
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement