Size: a a a

2020 February 01

L

Leo in learn.java
Leo
Не подскажите наиболее простой способ добавить несколько однотипных объектов в HashSet? Гуглил методы HashSet, но там только add.
Не пойму как добавлять через итерацию, чтобы было просто?
источник

VA

Vladimir Alexeev in learn.java
Leo
Не подскажите наиболее простой способ добавить несколько однотипных объектов в HashSet? Гуглил методы HashSet, но там только add.
HashSet не может хранить несколько объекты, равных с точки зрения equals. Эта коллекция не допускает хранения дубликатов. Если нужно хранить одинаковые объекты, можно взять List
источник

L

Leo in learn.java
я понимаю, поэтому думаю как реализовать создание и добавление объектов через цикл, типа  set.add(cat1), set.add(cat2)
источник

L

Leo in learn.java
Только вручную и никак?
источник

VA

Vladimir Alexeev in learn.java
Leo
я понимаю, поэтому думаю как реализовать создание и добавление объектов через цикл, типа  set.add(cat1), set.add(cat2)
Не понимаю, какая именно задача решается. Одинаковые объекты в сет не добавятся - хоть в цикле, хоть без. Неравные объекты будут добавляться - опять же, независимо от использования цикла
источник

L

Leo in learn.java
Vladimir Alexeev
Не понимаю, какая именно задача решается. Одинаковые объекты в сет не добавятся - хоть в цикле, хоть без. Неравные объекты будут добавляться - опять же, независимо от использования цикла
Я хочу добавить неравные объекты. Про одинаковые я знаю - задача именно создавать cat1, потом cat2 и так далее, добавляя их в цикл.
источник

L

Leo in learn.java
И в HashSet.
источник

VA

Vladimir Alexeev in learn.java
Leo
Я хочу добавить неравные объекты. Про одинаковые я знаю - задача именно создавать cat1, потом cat2 и так далее, добавляя их в цикл.
set.add(new Cat(“cat” + i)); ?
источник

L

Leo in learn.java
Vladimir Alexeev
set.add(new Cat(“cat” + i)); ?
А есть вариант зациклить с конструктором по умолчанию?)
источник

L

Leo in learn.java
Спасибо за идею
источник

Э

Эд in learn.java
Если у меня есть класс Person, у него есть единственное поле name. Создаю 2 разных объекта Person с полем name=null каждое. Считаются ли они равные через equals? Как я должен написать метод equals() в этом случае?
источник

Э

Эд in learn.java
что сложно или что?
источник

ВА

Вега Аффир in learn.java
Погоди, читаю документацию
источник

ВА

Вега Аффир in learn.java
public boolean equals(Person other) {
   if (other == null) return false;
   // if pointers refer to same object
   if (this == other) return true;
   return this.name == other.name;
}
источник

Э

Эд in learn.java
Вега Аффир
public boolean equals(Person other) {
   if (other == null) return false;
   // if pointers refer to same object
   if (this == other) return true;
   return this.name == other.name;
}
Эм, ты строки сравниваешь через ==
источник

ВА

Вега Аффир in learn.java
Моя оплошность
источник

Э

Эд in learn.java
Короче, я понял, они не равны должны быть, для них equals должна возвращать false
источник

Э

Эд in learn.java
или true
источник

Э

Эд in learn.java
Хотя null==null в джаве, что странно
источник

Ln

Larymar neosilator in learn.java
Эд
Хотя null==null в джаве, что странно
почему?
источник