Java基础-引用数据类型之集合(Collection)
Java基础-引用数据类型之集合(Collection)
作者:尹正杰
版权声明:原创作品,谢绝转载!否则将追究法律责任。
一.为什么出现集合类
面向对象语言对事物的体现都是以对象的形式,所以为了方便对多个对象的操作,就可以将对象进行存储,集合就是存储对象最常用的一种方式(容器),Java中集合也是类,真正用来存储东西的是某种集合类的实例对象。
二.集合类的特点
数据和集合类都是容器,有何不同?集合类的特点又是什么呢?
1>.数组的特点
a>.长度是固定的;
b>.可以存储基本数据类型;
c>.也可以存储对象的引用;
d>.必须是相同类型的数据;
2>.集合的特点
a>.长度是可变的;
b>.只能用于存储对象的引用;
c>.对象可以是不同类型;
三.Collection接口概述
Collection是集合中的根接口。collection表示一组对象,这个对象也称为collection的元素,一些collection允许有重复的元素,而另一些则不允许,请记住下面这张图,有助你学习Java中的集合。

如上图所示,Collection根接口有两个子接口,分别是List和Set:
1>.List接口
可以存放重复远古三,元素存取是“有序”的。
2>.Set接口
不可以存放重复元素,通常元素存取是“无序”的,也有一些实现类元素是“有序”的。
注意:这里的“有序”,“无序”指的是存放元素是是否会记住元素存放的顺序,并非对元素进行“排序”。
四.Collection接口的基本方法
1>.add()方法【往集合中添加元素】
/*
@author :yinzhengjie
Blog:http://www.cnblogs.com/yinzhengjie/tag/Java%E5%9F%BA%E7%A1%80/
EMAIL:y1053419035@qq.com
*/ package cn.org.yinzhengjie.demo; import java.util.ArrayList;
import java.util.Collection; public class CollectionDemo {
public static void main(String[] args) {
//接口多态的方式调用
Collection<String> coll = new ArrayList<String>();
//存储数据
coll.add("yinzhengjie");
coll.add("alex");
coll.add("Big data");
System.out.println(coll);
}
} /*
以上代码执行结果如下:
[yinzhengjie, alex, Big data]
*/
2>.clear()方法【清空集合的内容】
/*
@author :yinzhengjie
Blog:http://www.cnblogs.com/yinzhengjie/tag/Java%E5%9F%BA%E7%A1%80/
EMAIL:y1053419035@qq.com
*/ package cn.org.yinzhengjie.demo; import java.util.ArrayList;
import java.util.Collection; public class CollectionDemo {
public static void main(String[] args) {
//接口多态的方式调用
Collection<String> coll = new ArrayList<String>();
//存储数据
coll.add("yinzhengjie");
coll.add("alex");
coll.add("Big data");
System.out.println(coll);
//清空集合内容
coll.clear();
System.out.println(coll);
}
} /*
以上代码执行结果如下:
[yinzhengjie, alex, Big data]
[]
*/
3>.Contains(Object o )方法【判断对象是否存在于集合中】
/*
@author :yinzhengjie
Blog:http://www.cnblogs.com/yinzhengjie/tag/Java%E5%9F%BA%E7%A1%80/
EMAIL:y1053419035@qq.com
*/ package cn.org.yinzhengjie.demo; import java.util.ArrayList;
import java.util.Collection; public class CollectionDemo {
public static void main(String[] args) {
//接口多态的方式调用
Collection<String> coll = new ArrayList<String>();
//存储数据
coll.add("yinzhengjie");
coll.add("alex");
coll.add("Big data");
//查询集合是否存在“yinzhengjie”这个字符串
boolean b = coll.contains("yinzhengjie");
System.out.println(b);
}
} /*
以上代码执行结果如下:
true
*/
4>.size()方法【查看集合的长度】
/*
@author :yinzhengjie
Blog:http://www.cnblogs.com/yinzhengjie/tag/Java%E5%9F%BA%E7%A1%80/
EMAIL:y1053419035@qq.com
*/ package cn.org.yinzhengjie.demo; import java.util.ArrayList;
import java.util.Collection; public class CollectionDemo {
public static void main(String[] args) {
//接口多态的方式调用
Collection<String> coll = new ArrayList<String>();
//存储数据
coll.add("yinzhengjie");
coll.add("alex");
coll.add("Big data");
//查看集合的大小
int length = coll.size();
System.out.println(length);
}
} /*
以上代码执行结果如下:
3
*/
5>.toArray()方法【返回的是一个存储对象的数组,数组的存储数据类型是Object】
/*
@author :yinzhengjie
Blog:http://www.cnblogs.com/yinzhengjie/tag/Java%E5%9F%BA%E7%A1%80/
EMAIL:y1053419035@qq.com
*/ package cn.org.yinzhengjie.demo; import java.util.ArrayList;
import java.util.Collection; public class CollectionDemo {
public static void main(String[] args) {
//接口多态的方式调用
Collection<String> coll = new ArrayList<String>();
//存储数据
coll.add("yinzhengjie");
coll.add("alex");
coll.add("Big data"); //将集合转换成一个数组
Object[] array = coll.toArray();
for (Object object : array) {
System.out.println(object);
}
}
} /*
以上代码执行结果如下:
yinzhengjie
alex
Big data
*/
6>.remove方法【移除集合中指定的元素,若有多个想用元素就删除第一个匹配到的元素】
/*
@author :yinzhengjie
Blog:http://www.cnblogs.com/yinzhengjie/tag/Java%E5%9F%BA%E7%A1%80/
EMAIL:y1053419035@qq.com
*/ package cn.org.yinzhengjie.demo; import java.util.ArrayList;
import java.util.Collection; public class CollectionDemo {
public static void main(String[] args) {
//接口多态的方式调用
Collection<String> coll = new ArrayList<String>();
//存储数据
coll.add("yinzhengjie");
coll.add("alex");
coll.add("Big data");
coll.add("yinzhengjie"); System.out.println(coll); boolean b = coll.remove("yinzhengjie");
System.out.println(b);
System.out.println(coll);
}
} /*
以上代码执行结果如下:
[yinzhengjie, alex, Big data, yinzhengjie]
true
[alex, Big data, yinzhengjie]
*/
7>.addAll(Collection c)方法【将一个集合中的所有元素添加到当前集合中】
/*
@author :yinzhengjie
Blog:http://www.cnblogs.com/yinzhengjie/tag/Java%E5%9F%BA%E7%A1%80/
EMAIL:y1053419035@qq.com
*/ package cn.org.yinzhengjie.demo; import java.util.ArrayList;
import java.util.Collection; public class CollectionDemo {
public static void main(String[] args) {
//接口多态的方式调用
Collection<String> coll = new ArrayList<String>();
//存储数据
coll.add("yinzhengjie");
coll.add("alex");
coll.add("Big data");
coll.add("yinzhengjie"); System.out.println(coll); Collection coll2 = new ArrayList();
coll2.add("1");
coll2.add("2");
coll2.add("3");
System.out.println(coll2);
boolean res = coll.addAll(coll2);
System.out.println(res);
System.out.println(coll);
}
} /*
以上代码执行结果如下:
[yinzhengjie, alex, Big data, yinzhengjie]
[1, 2, 3]
true
[yinzhengjie, alex, Big data, yinzhengjie, 1, 2, 3]
*/
8>.removeAll(Collection c)方法【删除与传入集合共有的元素】
/*
@author :yinzhengjie
Blog:http://www.cnblogs.com/yinzhengjie/tag/Java%E5%9F%BA%E7%A1%80/
EMAIL:y1053419035@qq.com
*/ package cn.org.yinzhengjie.demo; import java.util.ArrayList;
import java.util.Collection; public class CollectionDemo {
public static void main(String[] args) {
//接口多态的方式调用
Collection<String> coll = new ArrayList<String>();
//存储数据
coll.add("yinzhengjie");
coll.add("alex");
coll.add("Big data");
coll.add("yinzhengjie"); System.out.println(coll); Collection coll2 = new ArrayList();
coll2.add("yinzhengjie");
coll2.add("alex");
System.out.println(coll2);
boolean res = coll.removeAll(coll2);
System.out.println(res);
System.out.println(coll);
}
} /*
以上代码执行结果如下:
[yinzhengjie, alex, Big data, yinzhengjie]
[yinzhengjie, alex]
true
[Big data]
*/
9>.containsAll(Collection c)【判断一个集合是否包含另外一个集合】
/*
@author :yinzhengjie
Blog:http://www.cnblogs.com/yinzhengjie/tag/Java%E5%9F%BA%E7%A1%80/
EMAIL:y1053419035@qq.com
*/ package cn.org.yinzhengjie.demo; import java.util.ArrayList;
import java.util.Collection; public class CollectionDemo {
public static void main(String[] args) {
//接口多态的方式调用
Collection<String> coll = new ArrayList<String>();
//存储数据
coll.add("yinzhengjie");
coll.add("alex");
coll.add("Big data");
coll.add("yinzhengjie"); Collection coll2 = new ArrayList();
coll2.add("yinzhengjie");
coll2.add("alex");
System.out.println(coll2);
boolean res = coll.containsAll(coll2);
System.out.println(res);
System.out.println(coll);
}
} /*
以上代码执行结果如下:
[yinzhengjie, alex]
true
[yinzhengjie, alex, Big data, yinzhengjie]
*/
10>.isEmpty()方法【判断集合是否为空】
/*
@author :yinzhengjie
Blog:http://www.cnblogs.com/yinzhengjie/tag/Java%E5%9F%BA%E7%A1%80/
EMAIL:y1053419035@qq.com
*/ package cn.org.yinzhengjie.demo; import java.util.ArrayList;
import java.util.Collection; public class CollectionDemo {
public static void main(String[] args) {
//接口多态的方式调用
Collection<String> coll = new ArrayList<String>();
//存储数据
coll.add("yinzhengjie");
System.out.println(coll.isEmpty()); }
} /*
以上代码执行结果如下:
false
*/
Java基础-引用数据类型之集合(Collection)的更多相关文章
- Java 基础 引用数据类型 ArrayList集合
引用数据类型(类) 分类 提到引用数据类型(类),其实我们对它并不陌生,如使用过的Scanner类.Random类. 我们可以把类的类型为两种: 第一种,Java为我们提供好的类,如Scanner类, ...
- java基础-引用数据类型之一维数组(Array)
java基础-引用数据类型之一维数组(Array) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.数组的定义 1>.为什么需要数组 保存一个数据可以定义一个变量,如果要保 ...
- java基础-引用数据类型之二维数组(Array)
java基础-引用数据类型之二维数组(Array) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 之前我们学习过了Java的一维数组,所谓的二维数组就是元素是一堆一维数组的数组,换 ...
- java基础27 单例集合Collection及其常用方法
1.集合 集合是存储对象数据的集合容器 1.1.集合比数组的优势 1.集合可以存储任意类型的数据,数组只能存储同一种数据类型的数据 2.集合的长度是变化的,数组的长度是固定的 1.2.数组:存储 ...
- Java 基础 引用数据类型 和 流程控制
引用数据类型 与定义基本数据类型变量不同,引用数据类型的变量定义及复制有一个相对固定的步骤和格式: 数据类型 变量名 = new 数据类型(); 如:String st = new String(); ...
- 复习java基础第三天(集合:Collection、Set、HashSet、LinkedHashSet、TreeSet)
一.Collection常用的方法: Java 集合可分为 Set.List 和 Map 三种体系: Set:无序.不可重复的集合. List:有序,可重复的集合. Map:具有映射关系的集合. Co ...
- Java基础知识(数据类型和集合)
一.数据类型 包装类型 包装类型是对基本数据类型不足之处的补充. 基本数据类型的传递方式是值传递,而包装类型是引用传递,同时提供了很多数据类型间转换的方法. Java1.5 以后可以自动装箱和拆箱 二 ...
- java基础28 单例集合Collection下的List和Set集合
单例集合体系: ---------| collection 单例集合的根接口--------------| List 如果实现了list接口的集合类,具备的特点:有序,可重复 注:集合 ...
- 【Java基础】【15Colletion集合】
15.01_集合框架(对象数组的概述和使用) A:案例演示 需求:我有5个学生,请把这个5个学生的信息存储到数组中,并遍历数组,获取得到每一个学生信息. Student[] arr = new Stu ...
随机推荐
- OO学习体会与阶段总结(设计与实现)
前言 在最近的一个月的课程中,笔者对于规格化编程进行了深入的学习.运用面向对象抽象思想对编写的程序进行过程抽象.异常处理.数据抽象.类的层次规格与迭代等等规格设计,使得程序结构化程度提高,具有更好 ...
- 关于httpServlet.service()步骤
关于httpServlet.service()步骤 关于()方法 1.HTTP Servlet 使用一个 HTML 表格来发送和接收数据.要创建一个 HTTP Servlet,就需要扩展 HttpSe ...
- 项目Beta冲刺团队随笔集
博客集如下: Beta冲刺Day1:第一天冲刺记录 Beta冲刺Day2:第二天冲刺记录 Beta冲刺Day3:第三天冲刺记录 Beta冲刺Day4:第四天冲刺记录 Beta冲刺Day5:第五天冲刺记 ...
- 【DL.AI】《Structuring Machine Learning Projects》笔记
一.改进模型的几个方法 Collect more data Collect more diverse training set Train algorithm longer with gradient ...
- 如何查看Maven项目的jar包依赖
问题 十年以前写java项目总会干这么一个事情: 调包. java项目往往依赖了很多第三方jar包,而这些jar包又有他自己依赖的第三方jar包,从而就能形成一个依赖树. 而程序运行要把这些所有的依赖 ...
- vue 实战语法错误导致的问题记录
1. 在组件中引入mapActions import mapActions from 'vuex' 而不是 getActions 2.引入 mutations-type.js import ...
- 使用mdadm创建磁盘RAID10整列,RAID5出现故障,自动替换硬盘
首先需了解mdadm的参数使用 . 第一步: 先在虚拟机中添加四块硬板 第二步:使用mdadm命令创建RAID10名称为"/dev/md0" -C代表创建操作,v 显示创建过程,- ...
- PHP 更改session存储方式为Redis
前言: 服务器默认的session存放方式是file.当客户端发送请求带有PHPSESSID时是顺序的去比对session存储文件,如果有5000个session文件,那就有可能需要比对4998次那么 ...
- 读书笔记-《Java核心技术卷I-基础知识》
1.定时器Timer类 构造定时器时,需要设置一个时间间隔,并告知定时器,当到达时间间隔时需要做什么操作.定时器需要知道调用哪一个方法,并要求传递的对象所属的类实现了java.awt.event包的A ...
- js对象进行浅复制,深拷贝的方法
js对象浅拷贝和深拷贝详解 本文为大家分享了JavaScript对象的浅拷贝和深拷贝代码,供大家参考,具体内容如下 1.浅拷贝 拷贝就是把父对像的属性,全部拷贝给子对象. 下面这个函数,就是在做拷 ...