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接口的常用方法的更多相关文章

  1. Java集合----概述、Collection接口、Iterator接口

    Java 集合概述 Java 集合就像一种容器,可以把多个对象的引用放入容器中. Java 集合类可以用于存储数量不等的多个对象,还可用于保存具有映射关系的关联数组 Java 集合可分为 Set.Li ...

  2. Java集合框架之Collection接口

    Java是一门面向对象的语言,那么我们写程序的时候最经常操作的便是对象了,为此,Java提供了一些专门用来处理对象的类库,这些类库的集合我们称之为集合框架.Java集合工具包位于Java.util包下 ...

  3. Java中集合框架,Collection接口、Set接口、List接口、Map接口,已经常用的它们的实现类,简单的JDK源码分析底层实现

    (一)集合框架: Java语言的设计者对常用的数据结构和算法做了一些规范(接口)和实现(实现接口的类).所有抽象出来的数据结构和操作(算法)统称为集合框架. 程序员在具体应用的时候,不必考虑数据结构和 ...

  4. 集合框架之Collection接口

    Collection 层次结构中的根接口.Collection表示一组对象,这些对象也称为 collection 的元素.一些 collection 允许有重复的元素,而另一些则不允许.一些 coll ...

  5. Java学习--java中的集合框架、Collection接口、list接口

    与数组相比:1.数组的长度固定,而集合的长度可变2.数组只能通过下表访问元素,类型固定,而有的集合可以通过任意类型查找所映射的具体对象 java集合框架:collection(list序列,queue ...

  6. Java基础之集合框架(Collection接口和List接口)

    首先我们说说集合有什么作用. 一.集合的作用 1.在类的内部,对数据进行组织: 2.简单而快速的搜索大数量的条目: 3.有的集合接口,提供一系列排列有序的元素,并且可以在序列中间快速的插入或者删除有关 ...

  7. Collection接口的常用方法

    [添加功能] boolean add(Object obj); //添加一个元素. boolean addAll(Collection c); //添加一个集合的元素(在后面追加). [删除功能] v ...

  8. Java Collection集合概述及其常用方法

    Collection集合概述 Java数组的长度是固定的,为了使程序能够方便地存储和操作数目不固定的一组数据,JDK类库提供了Java集合 与数组不同的是,集合中不能存放基本类型数据,而只能存放对象的 ...

  9. 《java集合概述》

    JAVA集合概述: Collection: |---List有序的:通过索引就可以精确的操作集合中的元素.元素是可以重复的. List提供了增删改查的动作. 增加add(element) add(in ...

随机推荐

  1. python(写入 excel 操作 xlwt 模块)

    一.安装 xlwt 模块 pip install xlwt 二.excel 写入操作 这种方式只能新增或者覆盖文件写入 import xlwt # 创建一个workbook 设置编码 workbook ...

  2. python安装pycrypto库

    使用pycharm时安装pycrypto库,一直安装不上,提示安装成功,退出去一看,依旧没有 最后选择了pip安装,但一直报错(Microsoft Visual C++ 9.0 is required ...

  3. mac下使用xampp中php显示1044/1045/1046(卸载xampp)

    问题描述 在mac下使用xampp,访问http://192.168.64.3/phpmyadmin/可以正常显示php页面,当创建数据库时提示1044也就是普通用户没有权限 问题猜测 猜测在使用xa ...

  4. mac下xampp访问php显示403错误

    错误描述 New xampp security concept: Access Forbidden Error 403 错误分析和解决 403就是我们访问的时候,被安全策略拒绝了,解决方法 找到文件 ...

  5. 《C程序设计语言》 练习2-3

    问题描述 < class="title-article"> 练习2-3 编写函数htoi(s),把由16进制数字组成的字符串(包含可选的前缀0X或0x)转换成与之等价的 ...

  6. 【HBase】通过Java代码实现HBase数据库中数据的增删改查

    目录 创建maven工程,导入jar包 java代码实现创建hbase表 java代码实现向hbase表中插入数据 java代码查询hbase数据 使用rowKey查询指定列族指定列的值 通过star ...

  7. 【Hadoop离线基础总结】MapReduce入门

    MapReduce入门 Mapreduce思想 概述 MapReduce的思想核心是分而治之,适用于大量复杂的任务处理场景(大规模数据处理场景). 最主要的特点就是把一个大的问题,划分成很多小的子问题 ...

  8. matlab 提示 Continuous sample time is not supported by discrete derivative 错误的解决办法

    Simulink仿真的时候,出行错误提示:Continuous sample time is not supported by discrete derivative 中文意思是:连续采样时间不支持离 ...

  9. python 基础应用3

    1.使用while .for循环分别打印字符串s = 'fsufhjshh3hf'中每一个元素. #使用while .for循环分别打印字符串s = 'fsufhjshh3hf'中每一个元素. s = ...

  10. mysql计算

    select @csum := 0;select create_time,merchant_id,award as 奖励,total_count as 数量,(@csum := @csum + awa ...