集合框架
概述
- java.util.Collection接口,该接口是所有集合的顶级接口,里面规定了所有集合都要具备的功能。
- 集合和数组一样,用来保存一组元素,但是集合有多种不同的数据结构,有各自的特点
- Collection下面有不同种类的集合,常见的两大类:
- java.util.List:线性表,是可重复的集合,并且有序
- java.util.Set:不可重复的集合,无序
- 这里指的重复是集合是否可以保存重复的元素,而重复元素的判定标准是元素equals比较是否为true
Collection常见的两大类
java.util.List
java.util.Set
练习
public static void main(String[] args) {
Collection c = new ArrayList() ; //有序可重复
// Collection c = new HashSet() ; //无序不可重复
/*
* boolean add(E e)
* 向当前集合中添加给定元素,若元素成功添加后返回值为true
*/
c.add("one") ;
c.add("two") ;
c.add("three") ;
c.add("four") ;
c.add("five") ;
c.add("one") ;
System.out.println(c);
/*
* int size()
* 返回当前集合中的元素个数
* 返回值为int类型
*/
int size = c.size() ;
System.out.println("size:" + size);
/*
* boolean isEmpty()
* 判断当前集合是否是空集(不含有任何元素)
* 返回值是boolean类型
*/
boolean isEmpty = c.isEmpty();
System.out.println("是否是空集:" + isEmpty);
/**
* void clear()
* 清空集合
*/
c.clear();
System.out.println(c);
System.out.println("size:" + c.size());
System.out.println("是否为空集" + c.isEmpty());
}
集合的某些操作与元素的equals方法有直接的关系
比如:Set集合判定重复元素,集合判定是否包含元素,删除集合元素等。
练习
public static void main(String[] args) {
Collection c = new ArrayList();
c.add(new Point(1,2)) ;
c.add(new Point(3,4)) ;
c.add(new Point(5,6)) ;
c.add(new Point(7,8)) ;
System.out.println(c) ;
c.add(new Point(1,2)) ;
Point p = new Point(1,2) ;
/*
* boolean contains(Object o)
* 判断当前集合是否包含给定元素,若包含则返回true
* 判断标准是看给定元素是否与集合现有元素存在equals比较为true的情况,存在则默认为包含。
*/
boolean contains = c.contains(p) ;
System.out.println("包含:" +contains);
/*
* boolean remove(Object o)
* 删除当前集合中与给定元素equals比较为true的元素
* 对于List集合而言,如果有重复的被删除元素时,仅删除一次。
*/
c.remove(p);
System.out.println(c);
}
集合框架
注:这只是其中的一部分,后续会跟上,希望对大家有所帮助,也希望大家多多提建议,小范谢谢大家!