集合概述及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 ...
随机推荐
- IE浏览器下报错: strict 模式下不允许一个属性有多个定义
vue项目,打包后在IE11和360浏览器(都是IE内核)上运行,控制台报了strict 模式下不允许一个属性有多个定义这个错误,导致流程不能正常走下去,查资料后知道应该是定义了重复的属性,于是就开始 ...
- IDEA打包JavaWeb项目
IDEA打包JavaWeb项目 步骤: 1.配置项目->2.Build Artifacts->3.找到.war文件 具体操作: 首先,单击顶部工具栏的“File”选项,在弹出选项中选择“P ...
- uCOS2014.1.11(转载)(void*)0 的理解
一般把(void*)0定义为NULL表示这是个空指针void的含义void的字面意思是“无类型”,void *则为“无类型指针”,void *可以指向任何类型的数据.众所周知,如果指针p1和p2的类型 ...
- docker部署微服务遇到的问题二
自己尝试将微服务部署到docker上面,期间按照周立的微服务架构实战13章进行学习 按照书上的步骤,一切部署成功之后,尝试访问,一直没有成功访问,周五部署了两遍 折腾了一下 还是没有找到为啥,周一继续 ...
- jbpm4 candidate理解
主要理解为团队合作时使用,团队总的任意人员都可以获取此任务,但是获取任务时需要使用: super.taskService.findGroupTasks("bb"); 根据组信息查找 ...
- Spring全家桶之springMVC(四)
路径变量PathVariable PathVariable Controller除了可以接收表单提交的数据之外,还可以获取url中携带的变量,即路径变量,此时需要使用@PathVariable ...
- Unity3D中UGUI不使用DOTween制作渐隐渐现效果
在做UI后期设计时,我们可能要对UI做一些特效,这篇文章我们来学习下如何在Unity3d中对实现渐隐渐现的效果, 首先我们看下Unity New UI即UGUI中渐隐渐现的做法. 观察我们会发现Uni ...
- 5.4 Go 闭包
5.4 Go 闭包 闭包(closure):是由一个函数和其相关的引用环境组合的一个整体.(闭包=函数+引用环境) package main import ( "fmt" ) // ...
- 请求地址中出现中文或者URL作为参数,为避免含有特殊字符截断URL,需要编码
URL中担心出现特殊符号!*'();:@&=+$,/?%#[] 从而截断完整的URL,需要对URL编码,服务端对URL再解码 参考: https://blog.csdn.net/aaaaazq ...
- Higher-Order Functions Fundamentals
Higher-Order Functions A function that accepts and/or returns another function is called a higher-or ...