Вопрос по ConcurrentSkipListSet в Java 6
Есть такой вот код. После вставки в сет результат имеет такой вид:
sout user.getId(): 12 15 12
Почему так? Ведь должен быть 12, 15.
сlass Comp implements Comparator<UserModelTmp>
{
@Override
public int compare(UserModelTmp o1, UserModelTmp o2)
{
if (o1.getUserId() == o2.getUserId())
{
return 0;
}
return o2.getTime().compareTo(o1.getTime());
}
}
Set<UserModelTmp> set = new ConcurrentSkipListSet<UserModelTmp>(new Comp());
private void add()
{
set.add(new UserModelTmp(12, System.currentTimeMillis()));
set.add(new UserModelTmp(12, System.currentTimeMillis()+122));
set.add(new UserModelTmp(15, System.currentTimeMillis()+144));
set.add(new UserModelTmp(12, System.currentTimeMillis()+166));
}
public class UserModelTmp
{
int userId;
Long time;
public UserModelTmp(int userId, long time)
{
this.userId = userId;
this.time = time;
}
public UserModelTmp(int userId)
{
this.userId = userId;
this.time = 0L;
}
public int getUserId()
{
return userId;
}
public void setUserId(int userId)
{
this.userId = userId;
}
public Long getTime()
{
return time;
}
public void setTime(long time)
{
this.time = time;
}
@Override
public boolean equals(Object o)
{
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
UserModelTmp that = (UserModelTmp) o;
return userId == that.userId;
}
@Override
public int hashCode()
{
return userId;
}
}
Если вы хотите добавлять только уникальных по id UserModelTmp, необходимо изменить компоратор, например:
class Comp implements Comparator<UserModelTmp> {
@Override
public int compare(UserModelTmp o1, UserModelTmp o2) {
return o1.getUserId() - o2.getUserId();
}
}
Я бы еще изменил hashCode
@Override
public int hashCode() {
return Objects.hash(userId);
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Необходимо сверстать адаптивный блок в котором текст будет в центре и выровнен по левому краюТакая вот простая задачка, решение которой...
Могу ли я изменить цвет заливки логотипа SVG при onScroll? Это возможно с html или свойством css? Изменение цвета должно быть при прокрутке, когда...
Доброе время сутокЯ почитал документацию к NPM, почитал форумы, но всё равно до конца не совсем понимаю, смысловую нагрузку этого файла