集合中可以存放各种各样的数据,每种数据长度,大小以及自身的特点都不一样
但是不同的集合之间总会有一些共性,都是存放数据,而且可以拥有获取,判断等行为
我们把这些集合类的共性内容不断地向上提取,最终形成了一个集合的继承体系
Collection: 是集合的顶层接口,根据是否唯一,是否有序来区分出不同的集合
Collection的功能方法:
集合与元素
- 添加功能
boolean add(Object obj) :添加一个元素
- 删除功能
boolean remove(Object o):从该集合中删除指定元素的单个实例
void clear():删除集合中所有的元素
- 判断功能
boolean contains(Object o):如果此集合包含指定的元素,则返回 true 。
boolean isEmpty()如果此集合不包含元素,则返回 true 。
- 长度功能
int size()返回此集合中的元素数。
import java.util.ArrayList;
import java.util.Collection;
public class demo3 {
public static void main(String[] args) {
// Collection collection = new Collection();是不行的
//因为Collection是一个接口,这里需要用到实现接口的子类
Collection alist1 = new ArrayList();
//这里是接口多态的表现
//add(Object obj) 添加一个元素
alist1.add(“java”);
alist1.add(“hive”);
alist1.add(“hello”);
System.out.println(alist1.toString()); //[java, hive, hello]
System.out.println(“============”);
// remove(Object o) 删除一个元素
alist1.remove(“hello”);
System.out.println(alist1.toString()); //[java, hive]
System.out.println(“============”);
//contains(Object o):如果此集合包含指定的元素,则返回 true
System.out.println(alist1.contains(“hive”)); //true
System.out.println(“============”);
//int size()返回此集合中的元素数
System.out.println(alist1.size()); //2
System.out.println(“============”);
//clear() 删除集合中所有的元素
alist1.clear();
//isEmpty()如果此集合不包含元素,则返回 true
System.out.println(alist1.isEmpty()); //true
}
}
集合与集合
- 添加功能
boolean addAll(Collection c):添加一个集合的元素
- 删除功能
boolean removeAll(Collection c) :删除指定集合中包含的所有此集合的元素
- 判断功能
boolean containsAll(Collection c) :如果此集合包含指定集合中的所有元素,则返回true。
- 交集功能
boolean retainAll(Collection c):仅保留此集合中包含在指定集合中的元素
package review.ListDemo1;
import java.util.ArrayList;
import java.util.Collection;
public class demo4 {
public static void main(String[] args) {
Collection c1 = new ArrayList();
c1.add(“java”);
c1.add(“hadoop”);
Collection c2 = new ArrayList();
c2.add(“hive”);
c2.add(“java”);
c2.add(“hadoop”);
//addAll(Collection c) 添加一个集合元素
System.out.println(c1.addAll(c2)); //true
System.out.println(c1.toString());
System.out.println(c2.toString());
//boolean containsAll(Collection c) 判断此集合包含指定集合中的所有元素
System.out.println(c1.containsAll(c2)); //true
System.out.println(c1.toString()); //[java, hadoop, hive, java, hadoop]
System.out.println(c2.toString()); //[hive, java, hadoop]
//boolean retainAll(Collection c) 两个集合求交集
//c1对c2做交集,最终的交集的结果保存在c1中,c2不变
System.out.println(c1.retainAll(c2)); //false,当两个集合元素相同时返回false
c1.add(“test”);
System.out.println(c1.retainAll(c2)); //true
System.out.println(c1.toString()); //[java, hadoop, hive, java, hadoop]删去不重复的元素,结果保存在c1
System.out.println(c2.toString());
//removeAll(Collection c) 删除指定集合中包含的所有此集合的元素
c1.removeAll(c2);
//这里集合为空,因为c2集合中包括了hive,java,hadoop,将会从c1中删去这些元素
System.out.println(c1.toString()); //[]
}
}
将集合转为数组
Object[] toArray():返回一个包含此集合中所有元素的数组
package review.ListDemo1;
import java.util.ArrayList;
import java.util.Collection;
public class demo5 {
public static void main(String[] args) {
Collection c = new ArrayList();
c.add(“apple”);
c.add(“pear”);
c.add(“banana”);
Object[] objects = c.toArray();
for(int i=0;i<objects.length;i++){
System.out.println(objects[i]);
//向下转型,获取每个字符串的长度
String s = (String)objects[i];
System.out.println(“字符串长度为”+s.length());
}
}
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注Java)
Kafka实战笔记
关于这份笔记,为了不影响大家的阅读体验,我只能在文章中展示部分的章节内容和核心截图
- Kafka入门
- 为什么选择Kafka
- Karka的安装、管理和配置
- Kafka的集群
- 第一个Kafka程序
afka的生产者
- Kafka的消费者
- 深入理解Kafka
- 可靠的数据传递
- Spring和Kalka的整合
- Sprinboot和Kafka的整合
- Kafka实战之削峰填谷
- 数据管道和流式处理(了解即可)
- Kafka实战之削峰填谷
一个人可以走的很快,但一群人才能走的更远。如果你从事以下工作或对以下感兴趣,欢迎戳这里加入程序员的圈子,让我们一起学习成长!
AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算
1YvYJdL-1712169129691)]
一个人可以走的很快,但一群人才能走的更远。如果你从事以下工作或对以下感兴趣,欢迎戳这里加入程序员的圈子,让我们一起学习成长!
AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算