import java.util.*; public class CollectionAddRemove { void testPutKeySet() { Map testMap = new HashMap<>(); Set keys = testMap.keySet(); if (keys.isEmpty()) {} testMap.put("a", 1); if (keys.isEmpty()) {} if (keys.contains("a")) {} } void testAdd(List list) { list.add("foo"); if (list.isEmpty()) { } } void testAdd(Set set) { set.add("foo"); if (set.isEmpty()) { } } void testAdd3() { List list = new ArrayList<>(); list.add("foo"); list.add("bar"); list.add("baz"); if (list.size() == 3) { } Set set = new HashSet<>(); set.add("foo"); if (set.size() == 1) { } set.add("bar"); set.add("baz"); if (set.size() == 3) { } if (set.isEmpty()) {} } void testAddLoop() { List list = new ArrayList<>(); for (int i = 0; i < 10; i++) { list.add("foo"); if (list.isEmpty()) { } } } void testAddAll(List list1, List list2) { list1.addAll(list2); if (list1.isEmpty()) return; list2.addAll(list1); if (list2.isEmpty()) return; List l1 = new ArrayList<>(); l1.add("foo"); l1.add("bar"); List l2 = new ArrayList<>(); l2.addAll(l1); l2.addAll(l1); if (l2.size() == 4) {} l1.addAll(l2); l2.addAll(l1); l1.addAll(l2); l1.addAll(l1); if (l1.size() == 20) {} Set s = new HashSet<>(); s.addAll(l1); if (s.size() > 19) {} if (s.size() > 20) {} } void testAddAllArraysAsList(String[] data) { Set set = new HashSet<>(); if (data.length == 0) return; set.addAll(Arrays.asList(data)); if (set.isEmpty()) {} } void testRemove() { List list = new ArrayList<>(); list.remove("foo"); if (list.isEmpty()) {} list.remove("foo"); if (list.isEmpty()) {} list.add("foo"); list.add("bar"); list.add("baz"); list.remove("foo"); list.remove("bar"); list.remove("baz"); if (list.size() > 3) {} list.remove(100); } void testRemoveByIndex() { List list2 = new ArrayList<>(); list2.add(0, "foo"); list2.add(0, "bar"); if (list2.size() == 2) {} list2.remove(1); list2.remove(0); if (list2.isEmpty()) {} } // IDEA-250778 public static void main(String[] args) { List l = new ArrayList<>(); for (String arg : args) { l.add(arg); } l.add("some str"); int bestLen = 100; String bestStr = null; for (String s : l) { if (bestStr == null || s.length() > bestLen) { bestStr = s; bestLen = s.length(); } } System.out.println(bestStr.length()); } void collectionDeclaredType() { final Collection list = new ArrayList<>(); list.add("foo"); list.add("bar"); list.add("baz"); if (list.size() == 2) { } } void arrayListCtorKeepsLocality() { ArrayList strings = new ArrayList<>(); strings.add("foo"); strings.add("bar"); strings.add("baz"); someSideEffect(new ArrayList<>(strings)); if (!strings.isEmpty()) { System.out.println("ok"); } } native void someSideEffect(Object obj); }