Java—集合Collection(一)
- 一、Collection集合
- 1、方法add、addAll
- 2、声明集合
- 特别注意1:添加对象时需要创建对象类
- 3、总结
- 4、判断方法
- 4.1、总结
- 5、删除
- 6、总结
- 7、集合的其他方法
- 8、所有代码演练
存放单个数据内容,声明一个变量,
存放多个类型相同的数据内容,声明一个一维数组,
存放多个类型不同的数据内容,则创建一个对象,
存放多个类型相同的对象数据,创建一个对象数组,
多个类型不同的对象数据时,则准备一个集合。
集合框架顶层是:Collection和Map
Collection集合存取是:单个元素
Map集合中存取是:单对元素
一、Collection集合
是List、Queue以及Set接口的父类接口
1、方法add、addAll
boolean add(E e):集合内添加对象;返回True或者False
boolean addAll(Collection<? extends E> c):将集合c所有元素添加到集合内;返回True或者False
2、声明集合
package com.company.collection;import com.company.collection.Persion;import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;public class CollectionDemo {public static void main(String[] args) {Collection c1 = new ArrayList(); //创建集合对象System.out.println("集合c1:"+c1); //集合c1:[]//添加Stringc1.add(new String("hello"));System.out.println("集合c1:"+c1); //集合c1:[hello]c1.add("collection");System.out.println("集合c1:"+c1); //集合c1:[hello, collection]//添加Intergerc1.add(Integer.valueOf(77));c1.add(88);System.out.println("集合c1:"+c1); //集合c1:[hello, collection, 77, 88]//添加对象c1.add(new Persion("kobe",18));System.out.println("集合c1:"+c1); //集合c1:[hello, collection, 77, 88, Persion{name='kobe', age=18}]Collection c2 = new ArrayList();c2.add(66);c2.add("hello java");System.out.println(c2); //[66, hello java]//addAllboolean b=c1.addAll(c2);System.out.println("添加元素是否成功"+b); //添加元素是否成功trueSystem.out.println("集合c1:"+c1); //集合c1:[hello, collection, 77, 88, Persion{name='kobe', age=18}, 66, hello java]boolean d=c1.add(c2);System.out.println("添加元素是否成功"+d); //添加元素是否成功trueSystem.out.println("集合c1:"+c1); //集合c1:[hello, collection, 77, 88, Persion{name='kobe', age=18}, 66, hello java, [66, hello java]]}
}
特别注意1:添加对象时需要创建对象类
添加对象时需要创建对象类,并定义构造方法,不然输出的结果是对象地址
代码展示如下:
package com.company.collection;
import com.company.collection.Persion1;import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Iterator;public class CollectionDemo1 {public static void main(String[] args) {Collection c1 = new ArrayList();System.out.println("集合c1:"+c1); //集合c1:[]//Stringc1.add(new String("hello"));System.out.println("集合c1:"+c1); //集合c1:[hello]c1.add("collection");System.out.println("集合c1:"+c1);//Intergerc1.add(Integer.valueOf(77));c1.add(88);System.out.println("集合c1:"+c1); //集合c1:[hello, collection, 77, 88]//添加对象c1.add(new Persion1("kobe",18));System.out.println("集合c1:"+c1); //集合c1:[hello, collection, 77, 88, Persion{name='kobe', age=18}]}
}
创建对象类
package com.company.collection;import java.util.Objects;public class Persion1 {private String name;private int age;public Persion1(String name, int age) {this.name = name;this.age = age;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}
}
输出结果:
集合c1:[]
集合c1:[hello]
集合c1:[hello, collection]
集合c1:[hello, collection, 77, 88]
集合c1:[hello, collection, 77, 88, com.company.collection.Persion1@1a407d53]
3、总结
集合中添加单个元素或者单个对象,使用add();
集合中添加多个元素,使用addAll();
4、判断方法
boolean contains(Object o):判断集合是否包含指定对象
boolean containsAll(Collection<?> c):判断集合是否包含指定集合内的所有对象
package com.company.collection;import com.company.collection.Persion;import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;public class CollectionDemo {public static void main(String[] args) {Collection c1 = new ArrayList();System.out.println("集合c1:"+c1); //集合c1:[]//Stringc1.add(new String("hello"));System.out.println("集合c1:"+c1); //集合c1:[hello]c1.add("collection");System.out.println("集合c1:"+c1);//Intergerc1.add(Integer.valueOf(77));c1.add(88);System.out.println("集合c1:"+c1); //集合c1:[hello, collection, 77, 88]//添加对象c1.add(new Persion("kobe",18));System.out.println("集合c1:"+c1); //集合c1:[hello, collection, 77, 88, Persion{name='kobe', age=18}]Collection c2 = new ArrayList();c2.add(66);c2.add("hello java");System.out.println(c2); //[66, hello java]//addAllboolean b=c1.addAll(c2);System.out.println("添加元素是否成功"+b); //添加元素是否成功trueSystem.out.println("集合c1:"+c1); //集合c1:[hello, collection, 77, 88, Persion{name='kobe', age=18}, 66, hello java]boolean d=c1.add(c2);System.out.println("添加元素是否成功"+d); //添加元素是否成功trueSystem.out.println("集合c1:"+c1); //集合c1:[hello, collection, 77, 88, Persion{name='kobe', age=18}, 66, hello java, [66, hello java]]//集合c1:[hello, collection, 77, 88, Persion{name='kobe', age=18}, 66, hello java, [66, hello java]]boolean b1 = c1.contains("hello");System.out.println("是否包含:"+b1); //是否包含:trueboolean b2 = c1.contains("hello1");System.out.println("是否包含:"+b2); //是否包含:falseboolean b3 = c1.contains(88);System.out.println("是否包含:"+b3); //是否包含:trueboolean b4 = c1.contains(99);System.out.println("是否包含:"+b4); //是否包含:falseboolean b5 = c1.contains(new Persion("kobe",18));System.out.println("是否包含:"+b5); //是否包含:trueCollection c3=new ArrayList();c3.add(7);System.out.println("c1:"+c1); //c1:[hello, collection, 77, 88, Persion{name='kobe', age=18}, 66, hello java, [66, hello java]]System.out.println("c3:"+c3); //c3:[7]boolean b21 = c1.containsAll(c3);System.out.println("b21:"+b21); //c3:falsec3.add(88);System.out.println("c3:"+c3); //c3:[7, 88]boolean b22=c1.containsAll(c3);System.out.println("b22:"+b22); //b22:falseCollection c4=new ArrayList();c4.add(88);c4.add(66);System.out.println("c4:"+c4); //c4:[88, 66]boolean b23=c1.containsAll(c4);System.out.println("b23:"+b23); //b23:trueboolean b24=c1.contains(c4);System.out.println("b24:"+b24); //b24:falseCollection c5=new ArrayList();c5.add(88);c5.add("good");System.out.println("c5:"+c5); //c5:[88, good]boolean add1=c1.add(c5);System.out.println("c1:"+c1); //c1:[hello, collection, 77, 88, Persion{name='kobe', age=18}, 66, hello java, [66, hello java], [88, good]]System.out.println("c1-add-c5:"+add1); //c1-add-c5:true}
}
4.1、总结
Integer、String对应的java里面就是给重写equals方法,
自定义的类没有重写equals方法。
比较的是集合对象使用contains
比较的是集合的每个元素containsAll
5、删除
boolean remove(Object o):从集合中删除对象
boolean removeAll(Collection<?> c):从集合中删除c集合里的所有对象
6、总结
add(Object):添加的是集合对象
contains(Object):比较的是集合的对象
remove(Object):删除的是集合对象
addAll(collection):添加的是集合的每个元素
containsAll(collection):比较的是集合的每个对象
removeAll(collection):删除集合的每个元素
7、集合的其他方法
clear():清空集合
size():集合的对象个数
isEmpty():判断是否为空
equals(Object o):判断集合是否相等
8、所有代码演练
package com.company.collection;import com.company.collection.Persion;import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Iterator;public class CollectionDemo {public static void main(String[] args) {Collection c1 = new ArrayList();System.out.println("集合c1:"+c1); //集合c1:[]//Stringc1.add(new String("hello"));System.out.println("集合c1:"+c1); //集合c1:[hello]c1.add("collection");System.out.println("集合c1:"+c1);//Intergerc1.add(Integer.valueOf(77));c1.add(88);System.out.println("集合c1:"+c1); //集合c1:[hello, collection, 77, 88]//添加对象c1.add(new Persion("kobe",18));System.out.println("集合c1:"+c1); //集合c1:[hello, collection, 77, 88, Persion{name='kobe', age=18}]Collection c2 = new ArrayList();c2.add(66);c2.add("hello java");System.out.println(c2); //[66, hello java]//addAllboolean b=c1.addAll(c2);System.out.println("添加元素是否成功"+b); //添加元素是否成功trueSystem.out.println("集合c1:"+c1); //集合c1:[hello, collection, 77, 88, Persion{name='kobe', age=18}, 66, hello java]boolean d=c1.add(c2);System.out.println("添加元素是否成功"+d); //添加元素是否成功trueSystem.out.println("集合c1:"+c1); //集合c1:[hello, collection, 77, 88, Persion{name='kobe', age=18}, 66, hello java, [66, hello java]]//集合c1:[hello, collection, 77, 88, Persion{name='kobe', age=18}, 66, hello java, [66, hello java]]boolean b1 = c1.contains("hello");System.out.println("是否包含:"+b1); //是否包含:trueboolean b2 = c1.contains("hello1");System.out.println("是否包含:"+b2); //是否包含:falseboolean b3 = c1.contains(88);System.out.println("是否包含:"+b3); //是否包含:trueboolean b4 = c1.contains(99);System.out.println("是否包含:"+b4); //是否包含:falseboolean b5 = c1.contains(new Persion("kobe",18));System.out.println("是否包含:"+b5); //是否包含:trueCollection c3=new ArrayList();c3.add(7);System.out.println("c1:"+c1); //c1:[hello, collection, 77, 88, Persion{name='kobe', age=18}, 66, hello java, [66, hello java]]System.out.println("c3:"+c3); //c3:[7]boolean b21 = c1.containsAll(c3);System.out.println("b21:"+b21); //c3:falsec3.add(88);System.out.println("c3:"+c3); //c3:[7, 88]boolean b22=c1.containsAll(c3);System.out.println("b22:"+b22); //b22:falseCollection c4=new ArrayList();c4.add(88);c4.add(66);System.out.println("c4:"+c4); //c4:[88, 66]boolean b23=c1.containsAll(c4);System.out.println("b23:"+b23); //b23:trueboolean b24=c1.contains(c4);System.out.println("b24:"+b24); //b24:falseCollection c5=new ArrayList();c5.add(88);c5.add("good");System.out.println("c5:"+c5); //c5:[88, good]boolean add1=c1.add(c5);System.out.println("c1:"+c1); //c1:[hello, collection, 77, 88, Persion{name='kobe', age=18}, 66, hello java, [66, hello java], [88, good]]System.out.println("c1-add-c5:"+add1); //c1-add-c5:trueSystem.out.println("c1集合:"+c1); //c1集合:[hello, collection, 77, 88, Persion{name='kobe', age=18}, 66, hello java, [66, hello java], [88, good]]//remove删除存在的元素对象boolean remove=c1.remove(66);//删除不存在的元素对象System.out.println("c1-remove,"+remove); //c1-remove,trueboolean remove1=c1.remove(89);System.out.println("c1-remove,"+remove1); //c1-remove,falseSystem.out.println("c1集合:"+c1); //c1集合:[hello, collection, 77, 88, Persion{name='kobe', age=18}, hello java, [66, hello java], [88, good]]//remove 集合对象c1.remove(c2);System.out.println("c1集合:"+c1); //c1集合:[hello, collection, 77, 88, Persion{name='kobe', age=18}, hello java, [88, good]]System.out.println("-------------------------------------");Collection collection=new ArrayList();collection.add(new Persion("kobe",18));System.out.println("collection"+collection);// remove=c1.remove(new Persion("kobe",18));
// System.out.println("c1-remove:"+remove);
// System.out.println("c1集合:"+c1);System.out.println("------------------removeAll-------------------");System.out.println("c1"+c1); //c1[hello, collection, 77, 88, Persion{name='kobe', age=18}, hello java, [88, good]]
// boolean cc1=c1.removeAll(collection);
// System.out.println("c1-removeAll:"+cc1);
// System.out.println("c1集合:"+c1);collection.add(29);System.out.println("collection,"+collection); //collection,[Persion{name='kobe', age=18}, 29]boolean cc1=c1.removeAll(collection);System.out.println("c1-removeAll:"+cc1); //c1-removeAll:true 只要有一个元素被remove则为trueSystem.out.println("c1集合:"+c1); //c1集合:[hello, collection, 77, 88, hello java, [88, good]]Collection collection1=new ArrayList();collection1.add("yyy");b3=c1.removeAll(collection1);System.out.println("b3-remove:"+b3); //b3-remove:falseSystem.out.println("集合的长度:"+c1.size()); //集合的长度:6System.out.println(0==c1.size() ? "是一个空集合" : "集合不为空"); //集合不为空System.out.println(c1.isEmpty() ? "是一个空集合" : "集合不为空"); //集合不为空// equalsCollection co1 = new ArrayList();co1.add(1);co1.add("test");Collection co2 = new ArrayList();co2.add(1);co2.add("test");System.out.println("co1:"+co1); //[1, test]System.out.println("co2:"+co2); //[1, test]boolean bb2 = co1.equals(co2);System.out.println(bb2); //true//集合转换为数组Object[] objects = co1.toArray();// 打印数组中的所有元素System.out.println("数组中的元素有:" + Arrays.toString(objects)); //[1, test]// 实现数组类型到集合类型的转换Collection objects1 = Arrays.asList(objects);System.out.println("集合中的元素有:" + objects1);//[1, test]}
}