集合Collection类的方法
集合添加元素
import java.util.ArrayList; import java.util.Collection; /** * Collection学习类 * @author ma * */ public class CollectionDemo3 { /* * public interface Collection<E>extends Iterable<E> * 描述: * 1.Collection 层次结构 中的根接口。 * 2.Collection 表示一组对象,这些对象也称为 collection 的元素。 * 3.一些 collection 允许有重复的元素,而另一些则不允许 * 4.一些 collection 是有序的,而另一些则是无序的。 * 5.JDK 不提供此接口的任何直接 实现:它提供更具体的子接口(如 Set 和 List)实现。 * 6.此接口通常用来传递 collection,并在需要最大普遍性的地方操作这些 collection。 */ public static void main(String[] args) { /* * 1.boolean add(E e) 添加元素 * 2.boolean addAll(Collection<? extends E> c) 把一个集合添加到另一个集合中 */ //创建一个集合 Collection<String> c = new ArrayList<String>(); //1.boolean add(E e) 给集合添加元素,格式:collection.add(添加的内容); c.add("Hello"); c.add("World"); c.add("Hello"); c.add("Java"); //输出 System.out.println("c : "+ c); //2.boolean addAll(Collection<? extends E> c) 把一个集合添加到另一个集合中 Collection<String> c2_1 = new ArrayList<String>(); Collection<String> c2_2 = new ArrayList<String>(); //给c2_1添加元素 c2_1.add("Hello"); c2_1.add("World"); c2_1.add("Hello"); c2_1.add("Java"); //给c2_2添加元素 c2_2.add("你好"); c2_2.add("世界"); c2_2.add("你好"); c2_2.add("爪哇"); //分别输出c2_1,c2_2 System.out.println("把c2_2添加 到c2_1前:"); System.out.println("c2_1 : "+ c2_1); System.out.println("c2_2 : "+ c2_2); //把c2_2添加 到c2_1中 c2_1.addAll(c2_2); //分别输出c2_1,c2_2 System.out.println("把c2_2添加 到c2_1后:"); System.out.println("c2_1 : "+ c2_1); System.out.println("c2_2 : "+ c2_2); } }
/*
* 3.void clear() 移除此 collection 中的所有元素
* 4.boolean remove(Object o) 移除集合中指定元素
* 5.boolean removeAll(Collection<?> c) ;删除指定的Collection中和本Collection中相同的元素
*/
import java.util.ArrayList; import java.util.Collection; /** * Collection学习类 * @author ma * */ public class CollectionDemo4 { /* * public interface Collection<E>extends Iterable<E> * 描述: * 1.Collection 层次结构 中的根接口。 * 2.Collection 表示一组对象,这些对象也称为 collection 的元素。 * 3.一些 collection 允许有重复的元素,而另一些则不允许 * 4.一些 collection 是有序的,而另一些则是无序的。 * 5.JDK 不提供此接口的任何直接 实现:它提供更具体的子接口(如 Set 和 List)实现。 * 6.此接口通常用来传递 collection,并在需要最大普遍性的地方操作这些 collection。 */ public static void main(String[] args) { /* * 3.void clear() 移除此 collection 中的所有元素 * 4.boolean remove(Object o) 移除集合中指定元素 * 5.boolean removeAll(Collection<?> c) ;删除指定的Collection中和本Collection中相同的元素 */ //创建一个集合 Collection<String> c = new ArrayList<String>(); //添加元素 c.add("Hello"); c.add("World"); c.add("Hello"); c.add("Java"); //3.void clear() 移除此 collection 中的所有元素 //删除c集合中的所有元素 c.clear(); //输出c System.out.println(" c = "+c);// c = [] //4.boolean remove(Object o) 移除集合中指定元素 //创建一个集合 Collection<String> c4 = new ArrayList<String>(); //添加元素 c4.add("Hello"); c4.add("World"); c4.add("Hello"); c4.add("Java"); c4.add("hello"); //移除集合中的hello c4.remove("Hello");//如果集合中有两个指定的元素,则只能移除第一个, c4.remove("hello");//区分大小写 //输出c4 System.out.println(" c4 = "+c4);// c4 = [World, Hello, Java] //5.boolean removeAll(Collection<?> c) ;删除指定的Collection中和本Collection中相同的元素 Collection<String> c5_1 = new ArrayList<String>(); //添加元素 c5_1.add("Hello"); c5_1.add("World"); c5_1.add("Hello"); c5_1.add("Java"); c5_1.add("hello"); Collection<String> c5_2 = new ArrayList<String>(); //添加元素 c5_2.add("Hello"); c5_2.add("World"); c5_2.add("Hello"); c5_2.add("Java"); //把c5_1中与c5_2中相同的元素删除 c5_1.removeAll(c5_2); //输出c5_1 System.out.println(" c5_1 = "+c5_1);//c5_1 = [hello] } }
/*
* 6.boolean contains(Object o) 判断指定对象中是否存在在集合中,至少有一个
* 7.boolean containsAll(Collection<?> c) 如果此 collection 包含指定 collection 中的所有元素,则返回 true。
*
*/
import java.util.ArrayList; import java.util.Collection; public class CollectionDemo5 { /* * public interface Collection<E>extends Iterable<E> * 描述: * 1.Collection 层次结构 中的根接口。 * 2.Collection 表示一组对象,这些对象也称为 collection 的元素。 * 3.一些 collection 允许有重复的元素,而另一些则不允许 * 4.一些 collection 是有序的,而另一些则是无序的。 * 5.JDK 不提供此接口的任何直接 实现:它提供更具体的子接口(如 Set 和 List)实现。 * 6.此接口通常用来传递 collection,并在需要最大普遍性的地方操作这些 collection。 */ public static void main(String[] args) { /* * 6.boolean contains(Object o) 判断指定对象中是否存在在集合中,至少有一个 * 7.boolean containsAll(Collection<?> c) 如果此 collection 包含指定 collection 中的所有元素,则返回 true。 * */ //创建一个集合 Collection<String> c = new ArrayList<String>(); //添加元素 c.add("Hello"); c.add("World"); c.add("Hello"); c.add("Java"); c.add("你好"); c.add("世界"); c.add("你好"); c.add("爪哇"); Collection<String> c1 = new ArrayList<String>(); //添加元素 c1.add("你好"); c1.add("世界"); c1.add("Hello"); c1.add("World"); c1.add("Hello"); c1.add("Java"); Collection<String> c2 = new ArrayList<String>(); //添加元素 c2.add("Hello"); c2.add("World"); c2.add("Hello"); c2.add("Java"); c2.add("你好"); c2.add("世界"); c2.add("啊啊"); //6.boolean contains(Object o) 判断指定对象中是否存在在集合中,至少有一个,要区分大小写 //判断c中是否不java对象,c中是否有php boolean b6_1 = c.contains("Java"); boolean b6_2 = c.contains("php"); //输出 System.out.println(" b6_1 = "+b6_1);// b6_1 = true System.out.println(" b6_2 = "+b6_2);// b6_2 = false //7.boolean containsAll(Collection<?> c) 如果此 c 包含指定 c1中的所有元素,则返回 true。 boolean b7_1 = c.containsAll(c1); boolean b7_2 = c.containsAll(c2); //输出 System.out.println(" b7_1 = "+b7_1);// b7_1 = true System.out.println(" b7_2 = "+b7_2);// b7_2 = false } }
/*
* 8.boolean equals(Object o) 比较此 collection 与指定对象是否相等。
* 9.int hashCode() 返回指定集合的哈希值
* 10.boolean isEmpty() 判断集合是否为空
* 11.int size() 集合中元素的长度
* 12.boolean retainAll(Collection<?> c) 保留参数集合里的元素
*/
import java.util.ArrayList; import java.util.Collection; public class CollectionDemo6 { /* * public interface Collection<E>extends Iterable<E> * 描述: * 1.Collection 层次结构 中的根接口。 * 2.Collection 表示一组对象,这些对象也称为 collection 的元素。 * 3.一些 collection 允许有重复的元素,而另一些则不允许 * 4.一些 collection 是有序的,而另一些则是无序的。 * 5.JDK 不提供此接口的任何直接 实现:它提供更具体的子接口(如 Set 和 List)实现。 * 6.此接口通常用来传递 collection,并在需要最大普遍性的地方操作这些 collection。 */ public static void main(String[] args) { /* * 8.boolean equals(Object o) 比较此 collection 与指定对象是否相等。 * 9.int hashCode() 返回指定集合的哈希值 * 10.boolean isEmpty() 判断集合是否为空 * 11.int size() 集合中元素的长度 * 12.boolean retainAll(Collection<?> c) 保留参数集合里的元素 */ //创建一个集合 Collection<String> c = new ArrayList<String>(); //添加元素 c.add("Hello"); c.add("World"); c.add("Hello"); c.add("Java"); c.add("你好"); c.add("世界"); c.add("你好"); c.add("爪哇"); Collection<String> c1 = new ArrayList<String>(); //添加元素 c1.add("Hello"); c1.add("World"); c1.add("Hello"); c1.add("Java"); c1.add("你好"); c1.add("世界"); c1.add("你好"); c1.add("爪哇"); Collection<String> c2 = new ArrayList<String>(); //8.boolean equals(Object o) 比较此 collection 与指定对象是否相等。 boolean b8_1 = c.equals(c1); boolean b8_2 = c.equals(c2); //输出 System.out.println(" b8_1 = "+ b8_1);// b8_1 = true System.out.println(" b8_2 = "+ b8_2); //b8_2 = false //9.int hashCode() 返回指定集合的哈希值 int c9 = c.hashCode(); //输出 System.out.println(" c9 = "+ c9); //10.boolean isEmpty() 判断集合是否为空 boolean b10_1 = c.isEmpty(); boolean b10_2 = c2.isEmpty(); //输出 System.out.println(" b10_1 = "+ b10_1);// b10_1 = false System.out.println(" b10_2 = "+ b10_2);// b10_2 = true //11.int size() 集合中元素的长度 int i11_1 = c.size(); int i11_2 = c2.size(); //输出 System.out.println(" i11_1 = "+ i11_1);// i11_1 = 8 System.out.println(" i11_2 = "+ i11_2);// i11_2 = 0 //12.boolean retainAll(Collection<?> c) ,求两个集合是否有交集 Collection<String> c3 = new ArrayList<String>(); //添加元素 c3.add("Hello"); c3.add("World"); c3.add("Hello3"); c3.add("Java"); c3.add("你好"); c3.add("世界3"); c3.add("你好"); c3.add("爪哇"); //求c1和c3的交集 boolean b12_1= c1.retainAll(c3); boolean b12_2= c2.retainAll(c3); //输出 System.out.println(" b12_1 = "+ b12_1);// b12_1 = true System.out.println(" b12_2 = "+ b12_2);// b12_2 = false } }
/*
* 下面的主要用来遍历集合
* 13.Iterator<E> iterator() 迭代器
* 14.Object[] toArray() 把集合转换为数组
* 15.<T> T[] toArray(T[] a)
*/
import java.util.ArrayList; import java.util.Collection; import java.util.Iterator; public class CollectionDemo7 { /* * public interface Collection<E>extends Iterable<E> * 描述: * 1.Collection 层次结构 中的根接口。 * 2.Collection 表示一组对象,这些对象也称为 collection 的元素。 * 3.一些 collection 允许有重复的元素,而另一些则不允许 * 4.一些 collection 是有序的,而另一些则是无序的。 * 5.JDK 不提供此接口的任何直接 实现:它提供更具体的子接口(如 Set 和 List)实现。 * 6.此接口通常用来传递 collection,并在需要最大普遍性的地方操作这些 collection。 */ public static void main(String[] args) { /* * 下面的主要用来遍历集合 * 13.Iterator<E> iterator() 迭代器 * 14.Object[] toArray() 把集合转换为数组 * 15.<T> T[] toArray(T[] a) */ //创建一个集合 Collection<String> c = new ArrayList<String>(); //添加元素 c.add("你好"); c.add("世界"); c.add("你好"); c.add("爪哇"); Collection<String> c1 = new ArrayList<String>(); //添加元素 c1.add("Hello"); c1.add("World"); c1.add("Hello"); c1.add("Java"); System.out.println("------------.Iterator<E> iterator() --------------------"); //13.Iterator<E> iterator() 迭代器 //用Iterator来遍历数组 //创建一个Iterator Iterator it = c.iterator(); //用it.hasNext()遍历集合c while (it.hasNext()) { Object object = (Object) it.next(); //输出对象 System.out.println(object); } System.out.println("------------Object[] toArray()--------------------"); //14.Object[] toArray() 把集合转换为数组 //把c集合转换为object数组 Object[] obj = c.toArray(); //遍历数组 for (int i = 0; i < obj.length; i++) { System.out.println(obj[i]); } System.out.println("--------------toArray(T[] a)------------------"); //15.<T> T[] toArray(T[] a) 返回包含此 collection 中所有元素的数组 Object[] obj1 = c1.toArray(); //不管调用的是那一个集合,只要参数相同,则返回的内容都是,最后一个集合的内容 Object[] obj3 = c1.toArray(obj1); Object[] obj2 = c.toArray(obj1); System.out.println("obj3="+obj3);//obj3=[Ljava.lang.Object;@15db9742 System.out.println("obj2="+obj2);//obj2=[Ljava.lang.Object;@15db9742 //当参数不一样时,谁调用 toArray(T[] a)方法,就返回谁 Object[] obj4 = c.toArray(c1.toArray()); Object[] obj5 = c1.toArray(c.toArray()); System.out.println("obj4="+obj4);//obj4=[Ljava.lang.Object;@6d06d69c System.out.println("obj5="+obj5);//obj5=[Ljava.lang.Object;@7852e922 for (int i = 0; i < obj2.length; i++) { System.out.println(obj2[i]); } System.out.println("--------------------------------"); for (int i = 0; i < obj3.length; i++) { System.out.println(obj3[i]); } System.out.println("--------------------------------"); for (int i = 0; i < obj4.length; i++) { System.out.println(obj4[i]); } System.out.println("--------------------------------"); for (int i = 0; i < obj5.length; i++) { System.out.println(obj5[i]); } } }