🏠个人主页:黑洞晓威
🧑个人简介:大家好,我是晓威,一名普普通通的大二在校生,希望在CSDN中与大家一起成长。🎁如果你也在正在学习Java,欢迎各位大佬来到我的博客查漏补缺呀,如果有哪里写的不对的地方也欢迎诸佬指正啊。
1.集合框架的概述
数组在存储多个数据方面的特点:
- 一旦初始化后,其长度就确定了
- 数组一旦定义好,其元素类型也确定了。
数组在存储多个数据方面的缺点:
- 一旦初始化后,其长度就确定了
- 数组中提供的方法非常有限,对于添加、删除、插入数据等操作非常不便,同时效率不高。
- 获取数组中实际元素个数的需求,数组没有现成的属性或方法可用。
- 数组存储数据的特点:有序、可重复。对于无序、不可重复的需求不能满足。
2,Collection接口中方法的使用
方法 | 作用 |
---|---|
add(object e) | 将元素e添加到集合中 |
addAll(Collection coll) | 将coll集合中的元素添加到当前集合中 |
clear() | 清空集合元素 |
size() | 获取集合中元素的个数 |
isEmpty() | 判断当前集合是否为空 |
代码实例:
public static void main(String[] args) {
Collection coll = new ArrayList();//new一个对象
coll.add(123);//向集合中添加元素
coll.add(456);
coll.add("aa");
coll.add(new Student("张三",18));
System.out.println(coll.size());//输出集合中元素的个数,此时为4
Collection coll1 = new ArrayList();
coll1.add(789);
coll1.add("bb");
coll.addAll(coll1);//将coll1中的所有元素添加到coll中
System.out.println(coll.size());//6
coll.clear();//清空集合中的元素
System.out.println(coll.isEmpty());//判断集合是否为空,此时为true
}
方法 | 作用 |
---|---|
remove(Object obj) | 从当前集合中移除obj元素 |
removeAll(Collection coll) | 从当前集合中移除coll中的元素(即为求差集) |
public static void main(String[] args) {
Collection coll = new ArrayList();
coll.add(123);
coll.add(456);
coll.add(new String("Tom"));
coll.add(new Student("张三",18));
Collection coll1 = new ArrayList();
coll1.add(456);
coll1.add("Tom");
coll.remove(123);
System.out.println(coll);//[456, Tom, Student{name='张三', age=18}]
coll.removeAll(coll1);
System.out.println(coll);//[Student{name='张三', age=18}]
方法 | 作用 |
---|---|
contains(Object obj) | 判断集合中是否含有obj |
containsAll(Colltction coll) | 判断集合中是否包含coll中的所有元素 |
代码实例:
public static void main(String[] args) {
Collection coll = new ArrayList();
coll.add(123);
coll.add(456);
coll.add(new String("Tom"));
coll.add(new Student("张三",18));
Collection coll1 = new ArrayList();
coll1.add(123);
//contains本质上调用的是equals,String重写过equals
System.out.println(coll.contains(new String("Tom")));
//如果Student类没有重写equals方法,则调用Object中的equals,则结果为false
//重写equals后结果为true
System.out.println(coll.contains(new Student("张三",18)));
//判断集合coll是否包含coll1中的所有元素
System.out.println(coll.containsAll(coll1));
}
补充:
equals 方法中的源代码
public boolean equals(Objects obj){
return (this == obj);
}
以上这个方法是 Object 类的默认实现。
判断两个基本数据类型是否相等直接用“ == ”就行
判断两个Java对象是否相等,不能使用“ == ”,因为“ == ”比较的是两个对象的内存地址。
方法 | 作用 |
---|---|
toArray() | 将集合转化为数组 |
拓展:如何将数组转化为集合?
调用Arrays类中的静态方法asList
代码实例:
public static void main(String[] args) {
Collection coll = new ArrayList();
coll.add(123);
coll.add(456);
coll.add(new String("Tom"));
coll.add(new Student("张三",18));
//集合-->数组
Object[] arr= coll.toArray();
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
System.out.println("*******************************");
//数组-->集合
List coll1 = Arrays.asList(arr);
System.out.println(coll1);
}
方法 | 作用 |
---|---|
iterator() | 返回Iterator接口的实例,用于遍历集合元素 |
代码实例:
public static void main(String[] args) {
Collection coll = new ArrayList();
coll.add(123);
coll.add(456);
coll.add(new String("Tom"));
coll.add(new Student("张三",18));
Iterator iterator = coll.iterator();
while (iterator.hasNext()){
System.out.println(iterator.next());
}
}
🎉文章到这里就结束了,感谢诸佬的阅读。🎉
💕欢迎诸佬对文章加以指正,也望诸佬不吝点赞、评论、收藏加关注呀😘