集合概述及Collection接口的常用方法
java集合像是一种容器,可以动态的把多个对象的引用放到容器中
java的集合类可以用于存储数量不等的多个对象,还可以用于保存具有映射关系的关联数组
package com.aff.coll; import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Date;
import java.util.Iterator; import org.junit.Test; /*
1.存储对象可以考虑: ①数组(基本数据类型&引用数据类型) ②集合(引用数据类型)
2.数组存储对象的特点:Student[] stu = new Student[20]; stu[0] = new Student();
弊端:①一旦创建,其长度不可变,②真实的数组存放的对象的个数是不可知的
java集合可分为Collection和Map两个体系
Collection接口:
set:元素无序,不可重复的集合
list:元素有序,可重复的集合 ---- "动态"数组
Map接口:具有映射关系 "key-value对" 的集合
*/
public class TestCollection {
@Test
public void testCollection2() {
Collection coll = new ArrayList();
coll.add(123);
coll.add("AA");
coll.add(new Date());
coll.add("BB");
coll.add(new Person("mm", 13)); // .contains(Object obj); 判断集合中是否包含指定的obj元素,如果包含,返回true,反之返回false
// 判断的依据:根据元素所在的类的equals()方法进行判断
// 如果存入集合中的元素是自定义类的对象,要求:自定义类要重写equals() 方法
boolean b1 = coll.contains(123);
System.out.println(b1);// true
System.out.println(coll.size());
boolean b2 = coll.contains(new Person("mm", 13));
System.out.println(b2);// true // .containsAll(Collection coll); 判断当前集合中是否包含coll中所有的元素
Collection coll1 = new ArrayList();
coll1.add(123);
coll1.add(new String("AA"));
boolean b3 = coll.containsAll(coll1);
System.out.println(b3);// true // .retainAll(Collection coll); 取两个集合中的交集 // .remove( Object obj); 删除集合中的obj元素。 若删除成功返回true,否则返回false
boolean b4 = coll.remove("BB");
System.out.println(b4);// true // .removeAll(Collection coll);从当前集合中删除包含在coll中的元素
coll.removeAll(coll1);
System.out.println(coll); // .equals(Object obj); 判断两个集合中的所有元素完全是否相同
System.out.println(coll1.equals(coll)); // .hashCode(); 算集合中的哈希值,
System.out.println(coll.hashCode()); // .toArray(); 将集合转换为数组
Object[] obj = coll.toArray();
for (int i = 0; i < obj.length; i++) {
System.out.println(obj[i]);
} // iterator(); 返回一个Iterator接口实现类的对象,进而实现集合的遍历
Iterator iterator = coll.iterator();
/*
* for (int i = 0; i < coll.size(); i++) {
* System.out.println(iterator.next()); }
*/
// 方式二:使用迭代器Iterator实现集合的遍历
while (iterator.hasNext()) {
System.out.println(iterator.next());
}
} @Test
public void testCollection1() {
Collection coll = new ArrayList();
// .seze(); 返回集合元素的个数
System.out.println(coll.size()); // .add(Object obj);向集合中添加一个元素
coll.add(123);
coll.add("AA");
coll.add(new Date());
coll.add("BB");
System.out.println(coll.size());// 4 // .addAll(c);将形参coll中包含的所有元素添加到当前集合中
Collection coll1 = Arrays.asList(1, 2, 3);// 数组转换为集合
coll.addAll(coll1);
System.out.println(coll.size());//
System.out.println(coll);// ArrayList重写了toString方法所以打印了集合中的元素 // .isEmpty(); 判断集合是否为空
System.out.println(coll.isEmpty()); // .clear(); 清空集合元素
coll.clear();
System.out.println(coll.isEmpty());
}
}
集合概述及Collection接口的常用方法的更多相关文章
- Java集合----概述、Collection接口、Iterator接口
Java 集合概述 Java 集合就像一种容器,可以把多个对象的引用放入容器中. Java 集合类可以用于存储数量不等的多个对象,还可用于保存具有映射关系的关联数组 Java 集合可分为 Set.Li ...
- Java集合框架之Collection接口
Java是一门面向对象的语言,那么我们写程序的时候最经常操作的便是对象了,为此,Java提供了一些专门用来处理对象的类库,这些类库的集合我们称之为集合框架.Java集合工具包位于Java.util包下 ...
- Java中集合框架,Collection接口、Set接口、List接口、Map接口,已经常用的它们的实现类,简单的JDK源码分析底层实现
(一)集合框架: Java语言的设计者对常用的数据结构和算法做了一些规范(接口)和实现(实现接口的类).所有抽象出来的数据结构和操作(算法)统称为集合框架. 程序员在具体应用的时候,不必考虑数据结构和 ...
- 集合框架之Collection接口
Collection 层次结构中的根接口.Collection表示一组对象,这些对象也称为 collection 的元素.一些 collection 允许有重复的元素,而另一些则不允许.一些 coll ...
- Java学习--java中的集合框架、Collection接口、list接口
与数组相比:1.数组的长度固定,而集合的长度可变2.数组只能通过下表访问元素,类型固定,而有的集合可以通过任意类型查找所映射的具体对象 java集合框架:collection(list序列,queue ...
- Java基础之集合框架(Collection接口和List接口)
首先我们说说集合有什么作用. 一.集合的作用 1.在类的内部,对数据进行组织: 2.简单而快速的搜索大数量的条目: 3.有的集合接口,提供一系列排列有序的元素,并且可以在序列中间快速的插入或者删除有关 ...
- Collection接口的常用方法
[添加功能] boolean add(Object obj); //添加一个元素. boolean addAll(Collection c); //添加一个集合的元素(在后面追加). [删除功能] v ...
- Java Collection集合概述及其常用方法
Collection集合概述 Java数组的长度是固定的,为了使程序能够方便地存储和操作数目不固定的一组数据,JDK类库提供了Java集合 与数组不同的是,集合中不能存放基本类型数据,而只能存放对象的 ...
- 《java集合概述》
JAVA集合概述: Collection: |---List有序的:通过索引就可以精确的操作集合中的元素.元素是可以重复的. List提供了增删改查的动作. 增加add(element) add(in ...
随机推荐
- js递归实现方式
定义: 递归函数就是在函数体内调用本函数: 递归函数的使用要注意函数终止条件避免死循环: 递归实现形式: 1.声明一个具名函数,通过函数名调用 function f(a){ if(a<=1){ ...
- 简单使用媒体查询@media
@media 可以针对不同的屏幕尺寸设置不同的样式,特别是如果你需要设置设计响应式的页面,@media 是非常有用的. 那媒体查询该如何使用呢? 一.铺垫 1.首先我们在使用 @media 的时候需要 ...
- kafka简介及集群部署
消息队列概念:(Message queue): “消息”是在两台计算机间传送的数据单位.消息可以非常简单,例如只包含文本字符串:也可以更复杂,可能包含嵌入对象. “消息队列”是在消息的传输过程中保存消 ...
- Spring Cloud Alibaba系列(二)nacos作为服务配置中心
Nacos 提供用于存储配置和其他元数据的 key/value 存储,为分布式系统中的外部化配置提供服务器端和客户端支持.使用 Spring Cloud Alibaba Nacos Config,您可 ...
- 201771010113 李婷华 《面向对象程序设计(Java)》第十三周总结
一.理论知识部分 第十一章 事件处理 事件源 (event source):能够产生事件的对象都可 以成为事件源 ,如文本框 .按钮等 .一个事件源是一个能够注册监听器并向发送事件对象的对象. 监听器 ...
- C#学习笔记——数据类型
数据类型 sbyte x; //8bit,有符号,表示-128~127 bite x; //8bit,无符号,表示0~255 short x; //16bit,有符号整型 ushort x; //16 ...
- webpack 和 webpack-cli 安装和使用中出现的问题
因为国内防火墙的原因,建议首先安装 cnpm: 使用 npm install cnpm -g 或者 npm install -g cnpm --registry=https://registry.np ...
- [hdu5448 Marisa’s Cake]多边形面积,公式化简
题意:给一个凸多边形,求任选若干点形成的多边形的面积和. 思路: 按一定方向(顺时针或逆时针)对多边形的顶点进行编号,则多边形的面积计算公式为:f1 x f2 + f2 x f3 + ... fn-1 ...
- js代码中引入其他js文件
/***引入 js 文件 @example: import('js/aui.picker.js') @example: import(['js/aui.picker.js', 'css/aui.pic ...
- [Vue warn]: Missing required prop: "value"
tips vue中遇到这个问题 真的是很苦恼 一点一点排查 ,最后发现是因为我在 select的option中写了个默认值 ,所以才报这个错误 注释:去掉默认值那个option 选项就不报错了