这里写目录标题
java的集合框架
* 1.java.util.Collection接口
-
Collection是所有集合的顶级接口,里面规定了集合操作元素的相关功能方法。
-
集合与数组一样,用于存储一组元素,但是集合有多个不同的实现类来实现不同
-
的数据结构。
-
Collection下面有两个常冤的子接口:
-
java.util.List:线性表,特点∶可以保存重复元素并且有序,可通过下标操作。
-
java.util.set:不可重复的集合(增删改变后会变的无序)
-
这里的重复元素判定是依靠元素自身equals方法比较的结果而定。
-
List常见的实现类:
-
java.util.ArrayList ,java.util.LinkedList
-
set常见的实现类:
-
java.util.HashSet
boolean add( E e)
向当前集合中添加一个元素,成功添加后返回true否则返回false
*/
c.add("1");
System.out.println(c);
int size()
返回当前集合的元素个数
*/
int size=c.size();
System.out.println("size:"+size);
/*
boolean isEmpty()
判断当前集合是否为空集,当前集合size为0时,isEmpty返回值为true
boolean isEmpty=c.isEmpty();
System.out.println("是否为空集"+isEmpty);
c.clear();
清空集合
boolean contains(Object o)
集合的contains判断包含时的依据为:给定元素是否与集合中现有的元素
存在equals比较为true的情况,存在则认为包含。|
remove方法
删除元素时也是删除与集合中equals比较为true的元素
对于List集合而言,重复元素仅删除一次
//Collection c=new ArrayList();
Collection c=new HashSet();
c.add(new Point(1,2));
c.add(new Point(3,2));
c.add(new Point(4,2));
c.add(new Point(1,2));
/*
集合重写了toString方法,格式为:
[元素1.toString(),元素2.toString(),.....]
*/
System.out.println(c);
Point p=new Point(1,2);
/*
集合的contains判断包含时的依据为:给定元素是否与集合中现有的元素
存在equals比较为true的情况,存在则认为包含。|
*/
boolean contains=c.contains(p);
System.out.println("包含:"+contains);
/*
### remove方法
删除元素时也是删除与集合中equals比较为true的元素
对于List集合而言,重复元素仅删除一次
*/
c.remove(p);
System.out.println(c);
集合只能存放引用类型元素,并且存放的是元素的引用(地址)
package collection;
import java.util.ArrayList;
import java.util.Collection;
/**
* 集合只能存放引用类型元素,并且存放的是元素的引用(地址)
*/
public class CollectionDemo3 {
public static void main(String[] args) {
Collection c=new ArrayList();
Point p=new Point(1,2);
c.add(p);
System.out.println("p"+p);//(1,2)
System.out.println("c"+c);//[(1,2)]
p.setX(2);
System.out.println("p"+p);//(2,2)
System.out.println("c"+c);//[(2,2)]
}
}
boolean addAll(Collection c)
将给定的集合的所有元素添加到当前集合中
boolean containsAll(Collection c)
判断当前集合是否包含给定集合中的所有元素
removeAll
删除给定集合中与给定元素集合中的所有元素
package collection;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashSet;
public class CollectionDemo4 {
public static void main(String[] args) {
//Collection c1=new ArrayList();
Collection c1=new HashSet();
c1.add("java");
c1.add("c++");
c1.add("net");
System.out.println("c1:"+c1);
Collection c2=new ArrayList();
c2.add("android");
c2.add("ios");
c2.add("java");
System.out.println("c2:"+c2);
/*
boolean addAll(Collection c)
将给定的集合的所有元素添加到当前集合中
*/
c1.addAll(c2);
System.out.println("c1:"+c1);
System.out.println("c2:"+c2);
Collection c3=new ArrayList();
c3.addAll(c1);
c3.add("aaa");
/*
boolean containsAll(Collection c)
判断当前集合是否包含给定集合中的所有元素
*/
boolean contains=c1.containsAll(c3);
boolean contains2=c3.containsAll(c1);
System.out.println("c3:"+c3);
System.out.println("全包含"+contains);
System.out.println("全包含"+contains2);
/*
removeAll 删除给定集合中与给定元素集合中的所有元素
*/
c1.removeAll(c3);
System.out.println("c1:"+c1);
System.out.println("c3:"+c3);
}
}