Replace unnecessary type parameters with <>
[Sone.git] / src / main / java / net / pterodactylus / sone / notify / ListNotification.java
index cf658bd..11b0829 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Sone - ListNotification.java - Copyright © 2010 David Roden
+ * Sone - ListNotification.java - Copyright © 2010–2016 David Roden
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -30,7 +30,6 @@ import net.pterodactylus.util.template.Template;
  *
  * @param <T>
  *            The type of the items
- * @author <a href="mailto:bombe@pterodactylus.net">David ‘Bombe’ Roden</a>
  */
 public class ListNotification<T> extends TemplateNotification {
 
@@ -38,7 +37,7 @@ public class ListNotification<T> extends TemplateNotification {
        private final String key;
 
        /** The list of new elements. */
-       private final List<T> elements = new CopyOnWriteArrayList<T>();
+       private final List<T> elements = new CopyOnWriteArrayList<>();
 
        /**
         * Creates a new list notification.
@@ -97,7 +96,7 @@ public class ListNotification<T> extends TemplateNotification {
         * @return The current list of elements
         */
        public List<T> getElements() {
-               return new ArrayList<T>(elements);
+               return new ArrayList<>(elements);
        }
 
        /**
@@ -141,7 +140,9 @@ public class ListNotification<T> extends TemplateNotification {
         *            The element to remove
         */
        public void remove(T element) {
-               elements.remove(element);
+               while (elements.remove(element)) {
+                       /* do nothing, just remove all instances of the element. */
+               }
                if (elements.isEmpty()) {
                        dismiss();
                }
@@ -192,15 +193,7 @@ public class ListNotification<T> extends TemplateNotification {
                if (!key.equals(listNotification.key)) {
                        return false;
                }
-               if (elements.size() != listNotification.elements.size()) {
-                       return false;
-               }
-               for (int index = 0; index < elements.size(); ++index) {
-                       if (!elements.get(index).equals(listNotification.elements.get(index))) {
-                               return false;
-                       }
-               }
-               return true;
+               return elements.equals(listNotification.elements);
        }
 
 }