添加 add(Objec tobj) 和 addAll(Collection coll)
(1)add(Objec tobj)添加一个对象,如果是基本数据类型,则自动装箱。
ArrayList list1 = new ArrayList(); Date date = new Date(); list1.add(1);//基本数据类型自动装箱 list1.add(date);//引用数据类型 System.out.println(list1);
输出结果
(2)addAll(Collection coll)添加一个集合。
ArrayList list1 = new ArrayList(); list1.add("张三"); list1.add(123); ArrayList list2 = new ArrayList(); list2.add("李四"); list2.add(55); list1.addAll(list2);//将集合list2加到集合list1中 System.out.println(list1);
输出结果
获取有效元素的个数 int size()
int size()
ArrayList list1 = new ArrayList(); Date date = new Date(); list1.add(1); list1.add(date); System.out.println(list1.size());
输出结果
清空集合 void clear()
void clear()
ArrayList list1 = new ArrayList(); Date date = new Date(); list1.add(1); list1.add(date); list1.clear();//清空集合 System.out.println(list1.size());//输出元素个数
输出结果
是否是空集合 boolean isEmpty()
boolean isEmpty()
ArrayList list1 = new ArrayList(); Date date = new Date(); System.out.println(list1.isEmpty());//未添加元素,判断是否是空集合 list1.add(1); list1.add(date); System.out.println(list1.isEmpty());//添加完元素,判断是否是空集合
输出结果
是否包含某个元素 boolean contains(Object obj) 和 boolean containsAll(Collection c)
(1)boolean contains(Object obj):是通过元素的equals方法来判断是否是同一个对象。
ArrayList list1 = new ArrayList(); Date date = new Date(); list1.add(1); list1.add(date); System.out.println(list1.contains(1));
输出结果
(2)boolean containsAll(Collection c):也是调用元素的equals方法来比较的。拿两个集合的元素挨个比较。
ArrayList list1 = new ArrayList(); ArrayList list2 = new ArrayList(); //list1赋值 list1.add(1); list1.add("张三"); //list2赋值 list2.add(1); list2.add("张三"); System.out.println(list1.containsAll(list2));
输出结果
注意:如果是自定义对象,则需要在对象中重写Object的equals方法,否则比较的是地址。重写后比较的是属性的值。
删除 boolean remove(Object obj) 和 boolean removeAll(Collection coll)
(1)boolean remove(Object obj) :通过元素的equals方法判断是否是要删除的那个元素。只会删除找到的第一个元素。
ArrayList list1 = new ArrayList(); list1.add("张三"); list1.add("李四"); list1.add("张三"); list1.add("张三"); list1.add("张三"); list1.remove("张三");//在集合list1中删除元素"张三" System.out.println(list1);
输出结果
(2)boolean removeAll(Collection coll):取当前集合的差集。(即A-B=A-AB)
ArrayList list1 = new ArrayList(); ArrayList list2 = new ArrayList(); list1.add("张三"); list1.add("李四"); list2.add("王五"); list2.add("李四"); list1.removeAll(list2); System.out.println(list1);
输出结果
取两个集合的交集 boolean retainAll(Collection c)
boolean retainAll(Collection c):把交集的结果存在当前集合中,不影响c。
ArrayList list1 = new ArrayList(); ArrayList list2 = new ArrayList(); list1.add("张三"); list1.add("李四"); list2.add("王五"); list2.add("李四"); list1.retainAll(list2); System.out.println(list1);
输出结果
集合是否相等 boolean equals(Object obj)
boolean equals(Object obj)
ArrayList list1 = new ArrayList(); ArrayList list2 = new ArrayList(); list1.add("张三"); list1.add("李四"); list2.add("张三"); list2.add("李四"); System.out.println(list1.equals(list2));
输出结果
注意:该原理是调用集合元素的equals方法进行比较,如果集合元素是自定义对象,则必须要重写equals方法,否则比较的是地址值。
转成对象数组 Object[] toArray()
Object[] toArray()
ArrayList list1 = new ArrayList(); list1.add("张三"); list1.add("李四"); Object[] objects = list1.toArray();
获取集合对象的哈希值
hashCode()
ArrayList list1 = new ArrayList(); list1.add("张三"); list1.add("李四"); System.out.println(list1.hashCode());
输出结果
遍历 iterator()
iterator()
ArrayList list1 = new ArrayList(); list1.add("张三"); list1.add("李四"); Iterator iterator = list1.iterator(); while (iterator.hasNext()){ String next = (String) iterator.next(); System.out.println(next); }
输出结果