# Principled Programming / Tim Teitelbaum / Chapter 18. from arraylist import ArrayList def diag()-> None: print("size:", collection.size()) print("is_empty:", collection.is_empty()) print("contains 10:", collection.contains(10)) print("contains 20:", collection.contains(20)) print("index of 10:", collection.index_of(10)) print("index of 20:", collection.index_of(20)) print("-------") collection: ArrayList[int] = ArrayList[int](); print("new array list:"); diag() collection.add(10); print("add 10"); diag() collection.add(20); print("add 20") ; diag() collection.remove_by_value(10); print("remove by value 10"); diag() collection.add(10,0); print("add 10 at index 0"); diag() collection.add(15,1); print("add 15 at index 1"); diag() v: int = collection.get(1); print("item at 1", v); diag() v = collection.set(1, 16); print("set:", v, "at index 1 with 16"); diag() v = collection.get(1); print("item at 1 is:", v); diag() collection.remove(1); print("remove item at 1"); diag()