2-Collection
Collection常用方法
Collection
public static void main(String[] args) {
/*
Collection接口的常用方法:
增加: add(E e) addAll(Collection<?extends E> c)
删除: clear() remove(Object o)
修改:
查看: iterator() size()
判断: contains(Object o) equals(Object o) isEmpty()
*/
//创建对象: 接口不能实例化--->通过接口的实现类实例化(创建对象)
Collection col = new ArrayList();
//调用方法: 1.add
//集合有一个特点:只能存放引用数据类型的数据,不能是基本数据类型
col.add(18);//基本数据类型自动装箱,对应包装类 int--->Integer
col.add(12);
col.add(11);
col.add(17);
System.out.println(col);//不用写col.toString(),本来就是调ArrayList的toString
//addAll
List list = Arrays.asList(new Integer[]{11, 15, 3, 7, 1});//ArraysList工具类里边这个方法把后边传的转成一个集合
//asList--->把传入的东西转成ArrayList集合--->返回值用List接收(相当于具体实现类是ArrayList用List作为方法的返回值这是可以的,多态的小应用)
col.addAll(list);//将另一个集合添加入col中
System.out.println(col);
//size
System.out.println("集合中元素的数量为:" + col.size());
//isEmpty
System.out.println("集合是否为空" + col.isEmpty());
//remove
boolean isRemove = col.remove(15);//返回值为布尔型
if (isRemove){//是否删除成功
System.out.println(col);
}
//clear
col.clear();
System.out.println(col);
//equals
Collection col2 = new ArrayList();
col2.add(18);
col2.add(12);
col2.add(11);
col2.add(17);
col2.add("abc");
Collection col3 = new ArrayList();
col3.add(18);
col3.add(12);
col3.add(11);
col3.add(17);
col3.add("abc");
System.out.println(col2.equals(col3));//比较内容
System.out.println(col2 == col3);//比较地址,,两个对象地址一定不相等
//contains:包含
System.out.println("是否包含元素:"+col3.contains(17));
//对集合遍历
//方式1:增强for循环
for (Object o : col2) {//只能用Object接收,因为集合里可以放其他的引用类型数据(集合不是数组!)
System.out.println(o);
}
//方法2:iterator()
Iterator it = col2.iterator();//Iterator-->迭代器 原理:类比有个“指针”指向起始地址
while (it.hasNext()){//通过hasNext()来判断是否有下一个元素,若有返回true
System.out.println(it.next());//next()方法:将元素获取到并且将“指针下移”
}
//方式3:普通for循环
/*for (int i= 0;i<col2.size();i++){
col2.//并内衣获取对应元素的方法,故不能用普通for
}*/
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义