//: containers/CollectionMethods.java // ©2015 MindView LLC: see Copyright.txt // Things you can do with all Collections. import java.util.*; import net.mindview.util.*; import static net.mindview.util.Print.*; public class CollectionMethods { public static void main(String[] args) { Collection c = new ArrayList<>(); c.addAll(Countries.names(6)); c.add("ten"); c.add("eleven"); print(c); // Make an array from the List: Object[] array = c.toArray(); // Make a String array from the List: String[] str = c.toArray(new String[0]); // Find max and min elements; this means // different things depending on the way // the Comparable interface is implemented: print("Collections.max(c) = " + Collections.max(c)); print("Collections.min(c) = " + Collections.min(c)); // Add a Collection to another Collection Collection c2 = new ArrayList<>(); c2.addAll(Countries.names(6)); c.addAll(c2); print(c); c.remove(Countries.DATA[0][0]); print(c); c.remove(Countries.DATA[1][0]); print(c); // Remove all components that are // in the argument collection: c.removeAll(c2); print(c); c.addAll(c2); print(c); // Is an element in this Collection? String val = Countries.DATA[3][0]; print("c.contains(" + val + ") = " + c.contains(val)); // Is a Collection in this Collection? print("c.containsAll(c2) = " + c.containsAll(c2)); Collection c3 = ((List)c).subList(3, 5); // Keep all the elements that are in both // c2 and c3 (an intersection of sets): c2.retainAll(c3); print(c2); // Throw away all the elements // in c2 that also appear in c3: c2.removeAll(c3); print("c2.isEmpty() = " + c2.isEmpty()); c = new ArrayList<>(); c.addAll(Countries.names(6)); print(c); c.clear(); // Remove all elements print("after c.clear():" + c); } } /* Output: [ALGERIA, ANGOLA, BENIN, BOTSWANA, BURKINA FASO, BURUNDI, ten, eleven] Collections.max(c) = ten Collections.min(c) = ALGERIA [ALGERIA, ANGOLA, BENIN, BOTSWANA, BURKINA FASO, BURUNDI, ten, eleven, ALGERIA, ANGOLA, BENIN, BOTSWANA, BURKINA FASO, BURUNDI] [ANGOLA, BENIN, BOTSWANA, BURKINA FASO, BURUNDI, ten, eleven, ALGERIA, ANGOLA, BENIN, BOTSWANA, BURKINA FASO, BURUNDI] [BENIN, BOTSWANA, BURKINA FASO, BURUNDI, ten, eleven, ALGERIA, ANGOLA, BENIN, BOTSWANA, BURKINA FASO, BURUNDI] [ten, eleven] [ten, eleven, ALGERIA, ANGOLA, BENIN, BOTSWANA, BURKINA FASO, BURUNDI] c.contains(BOTSWANA) = true c.containsAll(c2) = true [ANGOLA, BENIN] c2.isEmpty() = true [ALGERIA, ANGOLA, BENIN, BOTSWANA, BURKINA FASO, BURUNDI] after c.clear():[] *///:~