Collection(集合的顶级父类_接口)
public class CollectionDemo1 {
public static void main(String[] args) {
/*
public boolean add(E e)//在集合末尾添加元素
public void clear()//清空集合
public boolean remove(Object o)//删除指定元素
public boolean contains(Object o)//判断集合中是否包含指定元素
public boolean isEmpty()//判断集合是否为空
public int size()//返回集合中元素的个数
Collection是一个接口,不能实例化
*/
Collection<String> c=new ArrayList<>();
//添加元素
//1.往Collection集合中添加元素,返回值永远是true
//2.往Set集合中添加元素,如果添加的元素重复,返回false,如果不重复则返回true
c.add("haha");
c.add("xiangxiang");
c.add("baby");
System.out.println(c);//[haha, xiangxiang, baby]
//清空集合
c.clear();
System.out.println(c);//[]
c.add("haha");
c.add("xiangxiang");
c.add("baby");
//删除指定元素
c.remove("baby");
System.out.println(c);//[haha, xiangxiang]
//判断集合中是否包含指定元素
//底层依赖的是equals方法
//如果集合中存储的是自定义类型,则需要重写equals方法
System.out.println(c.contains("haha"));//true
System.out.println(c.contains("now"));//false
//判断集合是否为空
System.out.println(c.isEmpty());//false
//返回集合中元素的个数
System.out.println(c.size());//2
}
}
-----------------------------------------------------------
public class CollectionDemo2 {
public static void main(String[] args) {
Collection<String> list = new ArrayList<>();
list.add("haha");
list.add("xiangxiang");
list.add("baby");
//创建迭代器对象
Iterator<String> it=list.iterator();
while (it.hasNext()) {
//next()方法返回的是集合中的元素
//指针会向后移动
String str=it.next();
System.out.println(str);
}
//迭代器遍历时,不能使用集合的方法修改集合
//如果要再次遍历,要重新创建迭代器对象,使指针复位
Iterator<String> it2=list.iterator();
while (it2.hasNext()) {
//next()方法返回的是集合中的元素
//指针会向后移动
String str2=it2.next();
if("baby".equals(str2)){
//list.remove("baby");//错误
it2.remove();
}
System.out.println(str2);
}
list.remove("xiangxiang");
System.out.println(list);//[haha]
list.add("xiangxiang");
list.add("baby");
//增强for循环遍历(数据类型 变量名:集合或数组)
//快速生成方式:集合名.for
for(String str:list){
str="bbb";//修改增强for中的变量,不会修改集合中的元素
System.out.println(str);
}System.out.println(list);//[haha, xiangxiang, baby]
//lambda表达式遍历
list.forEach(new Consumer<String>() {
@Override
//s依次接收集合中的元素
public void accept(String s) {
System.out.println(s);
}
});
//lambda表达式简化
list.forEach(s-> System.out.println(s));
}
}
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Hexo!