(感谢黑马程序员阿玮老师在B站的分享)
集合分为两大类,一类是单列集合Collection(单个数据),一类是双列集合Map(一对数据).
其中,List系列集合是有序,可重复,有索引的 ; 而Set系列集合是无序,不可重复,无索引的.
这里的有序无序指的是存取的顺序有序无序,而不是传统意义上的数据比大小的升序降序.
值得注意的是,Collection,List,Set都是接口,不可以创建实例对象,要想创建得通过以下的形式实现:
Collection<String> coll =new ArrayList<string>;
在collection这个顶级单列集合中,有许多通用的方法:
boolean add();--------------添加元素,往List类里添加的永远都是true;但是往Set类里添加元素,如果元素不存在会显示true,存在会显示false,因为Set类中的元素是不可重复的!
void clear();-------------清空数据;
boolean remove();------------给定一个对象删除,删除成功true,反之false,由于Collection中都是共性的方法,所以不可以通过索引删除,要不然Set类无索引怎么办呢?
boolean cotains();---------------判断是否包含给定的对象,其实我们去看这个方法的底层,运用到了一个equals方法,但是由于equals是Object类中的方法,所以如果是自定义对象的话判断的是地址值,无法准确判断,所以说判断的时候要在javaBean类中重写equals方法;当然,字符串的判断在java中已经过了特殊处理,可以直接用equals判断.感谢idea,直接输入equals就可以自动重写了,当然,也可以用alt+Inset来重写.
boolean isEmpty();------------判断是否是空集;