java -- 初识集合
来源:互联网 发布:vcm仿真实验软件 编辑:程序博客网 时间:2024/06/10 19:08
集合的创建是相对于数组而言的,在使用数组的时候,创建之后数组的长度就已经被固定了,无法改变长度 ,而且存放的都是相同的类型, 所以为了方便使用, 我们创建了集合
数组 和 集合 的区别
数组
a.数组只能村相同数据类型的 – > 可以存引用数据类型 和 基本数据类型
b.数组一旦给定了长度,数组就不改变长度
集合
a.集合中 只能存引用数据类型(对象), 虽然只能保存引用类型 但是 也可以通过自动装箱来保存基本数据类型
b.集合的长度是可以发生变化的
那什么时候选用数组, 什么时候选用集合呢??
当数据固定的时候选用数组 当数据不固定的时候选用集合
在使用集合的时候, 我们选择用集合类来实现,java API提供了多种集合的实现.
collection是集合最基本的集合接口
总结下部分实现
/** * 将集合转换成数组,并且遍历 */public static void fun7() { Collection c1 = new ArrayList(); c1.add("a"); c1.add("b"); c1.add("c"); c1.add("d"); //将集合转换成数组 Object[] array = c1.toArray(); for (Object object : array) { System.out.println(object); } System.out.println(Arrays.toString(array));}/** * 清空集合 */public static void fun6() { Collection c1 = new ArrayList(); c1.add("a"); c1.add("b"); c1.add("c"); c1.add("d"); //清空集合 c1.clear(); System.out.println(c1);}/** * 判断有无指定元素,有返回true,并删除,反之 */public static void fun5() { Collection c1 = new ArrayList(); c1.add("a"); c1.add("b"); c1.add("c"); c1.add("d"); //删除某个元素,集合中若有这个元素返回true并删除,反之,false,并且不作操作 boolean b1 = c1.remove("c"); System.out.println(b1); System.out.println(c1);}/** * 判断是否包含这个元素 */public static void fun4() { Collection c1 = new ArrayList(); c1.add("a"); c1.add("b"); c1.add("c"); c1.add("d"); //是否包含某个元素 是返回true 反之 boolean b1 = c1.contains("c"); System.out.println(b1);}/** * 获取集合长度 */public static void fun3() { Collection c1 = new ArrayList(); c1.add("a"); c1.add("b"); c1.add("c"); c1.add("d"); //获取长度 int i1 = c1.size(); System.out.println(i1);}/** * 判断集合是否为空 */public static void fun2() { Collection c1 = new ArrayList(); c1.add("a"); c1.add("b"); c1.add("c"); c1.add("d"); //判断这个集合是否为空,是返回true 反之 boolean b1 = c1.isEmpty(); System.out.println(b1);}/** * add添加 */public static void fun1() { //创建接口对象,对照多态创建方法,父类引用指向子类对象 Collection c1 = new ArrayList(); //添加 -- 集合可以添加任何类型的数据 //因为add(Object obj)在添加的时候,有自动装箱的过程 //将数据类型转变为基类 c1.add("a"); c1.add(100); c1.add(true); c1.add(new Students("刘翔", 18)); System.out.println(c1);}
练习:
需求:创建一个集合, 添加三个学生 遍历集合
要求:只打印学生的姓名
public static void fun8() { Collection c1 = new ArrayList(); c1.add(new Students("科比", 29)); c1.add(new Students("艾弗森", 24)); c1.add(new Students("麦迪", 26)); //集合转化为数组 Object[] array = c1.toArray(); //遍历 for (int i = 0; i < array.length; i++) { //向下转型 Students s1 = (Students)array[i]; //调用getname打印 System.out.println(s1.getName()); }}
其他方法
/** * 将两个集合的交集给第一集和 * 如果第一集和改变 返回true,没改变返回false */public static void fun12() { Collection c1 = new ArrayList(); c1.add("a"); c1.add("b"); c1.add("c"); c1.add("d"); Collection c2 = new ArrayList(); c2.add("c"); c2.add("d"); //将两个集合的交集给第一集和 //如果第一集和改变 返回true,没改变返回false boolean b1 = c1.retainAll(c2); System.out.println(b1); System.out.println(c1);}/** * 相似fun5,判断两个集合的交集,并将其在第一集合删掉 * 允许有不同元素 */public static void fun11() { Collection c1 = new ArrayList(); c1.add("a"); c1.add("b"); c1.add("c"); c1.add("d"); Collection c2 = new ArrayList(); c2.add("c"); c2.add("d"); c2.add("ww"); //判断两个集合的交集,并将其在第一集合删掉 //允许有不同的元素 boolean b1 = c1.removeAll(c2); System.out.println(b1); System.out.println(c1);}/** * 相似fun4,判断第一集合是否全部包含第二集合 * ArrayList是可以有重复元素的 */public static void fun10() { Collection c1 = new ArrayList(); c1.add("a"); c1.add("b"); c1.add("c"); c1.add("d"); Collection c2 = new ArrayList(); c2.add("c"); c2.add("d"); c2.add("d"); //判断第一元素中是否全部包含第二元素 boolean b1 = c1.containsAll(c2); System.out.println(b1);}/** * 相似fun1,将第二集合所有元素添加到第一集合 */public static void fun9() { Collection c1 = new ArrayList(); c1.add("a"); c1.add("b"); c1.add("c"); c1.add("d"); Collection c2 = new ArrayList(); c2.add("c"); c2.add("d"); //把第二集合中的所有元素添加到第一元素 c1.addAll(c2); System.out.println(c1);}
迭代器(数组遍历)
/** * 迭代器(数组遍历) */public static void fun13() { Collection c1 = new ArrayList(); c1.add("a"); c1.add("b"); c1.add("c"); c1.add("d"); //定义一个迭代器 Iterator i1 = c1.iterator(); while (i1.hasNext()) { //获取集合中的元素 System.out.println(i1.next()); } /* * hasNext() * 用法: * 判断之后是否有元素可以迭代 有就返回true * next() * 用法: * 返回值是迭代的下一个元素 */}
阅读全文
0 0
- 初识java集合1
- 初识java集合2
- 初识java集合2
- 初识java集合框架
- Java集合.List.初识
- java -- 初识集合
- java基础.集合.Set.初识
- java基础.集合.properties.初识
- Java知识:初识集合类
- Java集合框架(初识)
- 初识java集合——其他集合
- 【Java学习】初识Java集合框架
- java基础之集合框架初识
- 初识java集合——迭代器
- 初识java集合——链表
- 初识java集合——树集
- 初识java集合——队列
- java基础笔记.集合.map.初识
- 如何在 Bash 中抽取子字符串
- 使用 DNSTrails 自动找出每个域名的拥有者
- hadoop中的Configuration对象和FilSystem是什么有什么用?
- 如何自动唤醒和关闭 Linux
- 如何判断 Linux 服务器是否被入侵?
- java -- 初识集合
- 【每日安全资讯】Satori(觉醒)新僵尸网络出现,在过去的12个小时内已经激活超过28万个不同的IP
- 解决 IllegalArgumentException: Could not resolve placeholder in string value "${XXXXXX}"
- 使用 groff 编写 man 手册页
- 本地yum源配置
- Python从入门到精通
- 英文版ubuntu14.04安装ssh和ftp
- 【每日安全资讯】5500 个 WordPress 网站发现按键记录器
- 在 Linux 启动或重启时执行命令与脚本