1 、集合框架思维导图

一、什么是集合

存放在java.util.*。是一个存放对象的容器。

  • 存放的是对象的引用,不是对象本身
  • 长度不固定
  • 只能存放对象

二、collection接口


collection的使用

  • 增加元素 add();
  • 判断是否包含某个元素 contains();
  • 删除某个元素 remove();
  • 遍历元素(iterator迭代器)
package com.zheng.demo1;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator; public class MyCollection {
public static void main(String[] args) {
Collection c = new ArrayList();
//增加元素
c.add("足球");
c.add("篮球球");
c.add("乒乓球");
//集合大小
System.out.println("当前集合大小:" + c.size());
//判断是否包含某个元素
System.out.println(c.contains("足球"));
//删除元素
c.remove("足球");
System.out.println("删除一个元素之后大小:" + c.size());
System.out.println("==============="); //打印,增强for循环
for (Object obj : c) {
System.out.println("增强for循环取值:"+obj);
}
System.out.println("=============="); //迭代器形式
Iterator it = c.iterator();
while (it.hasNext()){//判断有无下一个元素
Object obj=it.next();//取值
System.out.println("iterator取值:"+obj); } }
}

Iterator:迭代器

  • hasNext(); 查看是否有下一个元素。有为true,无为false
  • next(); 取出下一个元素的值
  • remove(); 删除当前元素

在JAVA中,所有的对象都有toString方法;方便打印

通过添加一个对象到collection集合中

实体类

package com.zheng.demo1;

public class Student {
private int id;
private String name;
private String address; public Student() { } public Student(int id, String name, String address) {
this.id = id;
this.name = name;
this.address = address;
} public int getId() {
return id;
} public void setId(int id) {
this.id = id;
} public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public String getAddress() {
return address;
} public void setAddress(String address) {
this.address = address;
} @Override
public String toString() {
return "Student{" +
"id=" + id +
", name='" + name + '\'' +
", address='" + address + '\'' +
'}';
}
}

加入到集合

package com.zheng.demo1;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator; public class MyCollection1 {
public static void main(String[] args) {
//创建容器
Collection<Student> students = new ArrayList<Student>(); //创建对象
Student student1 = new Student(1, "小明", "北京");
Student student2 = new Student(2, "小红", "河南");
Student student3 = new Student(3, "小黑", "深圳");
Student student4 = new Student(4, "小蓝", "上海"); //添加对象到容器中
students.add(student1);
students.add(student2);
students.add(student3);
students.add(student4); //查看
System.out.println(students.toString()); System.out.println("=========增强for循环输出=========");
//增强for循环输出
for (Student student : students) {
System.out.println(student.toString()); } System.out.println("=========迭代器输出=========");
//迭代器输出
Iterator<Student> iterator = students.iterator();
while (iterator.hasNext()) {
System.out.println(iterator.next());
} }
}

java集合框架复习----(1)的更多相关文章

  1. java集合框架复习(一)

    数组类Array是java中最基本的一个存储结构,它用于存储 一组连续的对象或一组类型相同的基本类型的数据. Array特点:效率高,但容量固定且无法动态改变, 缺点:无法判断其中存有多少元素,len ...

  2. java集合框架复习

    数组类Array是java中最基本的一个存储结构,它用于存储 一组连续的对象或一组类型相同的基本类型的数据. Array特点:效率高,但容量固定且无法动态改变, 缺点:无法判断其中存有多少元素,len ...

  3. java集合框架复习----(3)Set

    文章目录 四.set集合 1.hashSet[重点] 2.TreeSet 四.set集合 无序.无下标.元素不可重复 1.hashSet[重点] == 数组+链表+红黑树== 基于hashcode计算 ...

  4. java集合框架复习----(4)Map、List、set

    文章目录 五.Map集合[重要] 1.hashMap 六.Collections工具类 总结 集合的概念 List集合 set集合: Map集合 Collection 五.Map集合[重要] 特点: ...

  5. java集合框架复习----(2)List

    文章目录 三.List集合 listIterator:迭代器 List实现类 1.泛型类 2.泛型接口 三.List集合 特点 有序,打印输出的顺序和添加时的顺序一致(不会帮你自动排序) 有下标,可以 ...

  6. 【java集合框架源码剖析系列】java源码剖析之java集合中的折半插入排序算法

    注:关于排序算法,博主写过[数据结构排序算法系列]数据结构八大排序算法,基本上把所有的排序算法都详细的讲解过,而之所以单独将java集合中的排序算法拿出来讲解,是因为在阿里巴巴内推面试的时候面试官问过 ...

  7. Java集合框架List,Map,Set等全面介绍

    Java集合框架的基本接口/类层次结构: java.util.Collection [I]+--java.util.List [I]   +--java.util.ArrayList [C]   +- ...

  8. Java集合框架练习-计算表达式的值

    最近在看<算法>这本书,正好看到一个计算表达式的问题,于是就打算写一下,也正好熟悉一下Java集合框架的使用,大致测试了一下,没啥问题. import java.util.*; /* * ...

  9. 【集合框架】Java集合框架综述

    一.前言 现笔者打算做关于Java集合框架的教程,具体是打算分析Java源码,因为平时在写程序的过程中用Java集合特别频繁,但是对于里面一些具体的原理还没有进行很好的梳理,所以拟从源码的角度去熟悉梳 ...

随机推荐

  1. 项目应用丨Modbus转Profinet网关连接ABB变频器的现场应用记录

    本案例客户需求是将ABB变频器接入到Profinet网络中,使用设备为西门子1200PLC,ABB变频器以及小疆智控Modbus转profinet网关.1.首先打开西门子组态软件,新建一个项目. 2. ...

  2. PhpStorm 中文设置教程

    本文仅供学习交流使用,如侵立删!demo下载见文末 Pycharm中文设置教程 1.首先打开PhpStorm ,点击file-settings.找到plugins,搜索Marketplace,然后搜索 ...

  3. Unity3D学习笔记11——后处理

    目录 1. 概述 2. 详论 2.1. 实现 2.2. 解析 1. 概述 一般来说,图形渲染引擎都会把帧缓冲(Framebuffer)技术封装成两个接口,其中之一就是后处理(Post-process) ...

  4. 开发Chrome插件,实现网站自动登录

    近期被一个事情困扰着,我们采购了一款软件,里面有一个数据大屏页,当登录过期后,数据就会保持原状,不再更新.和供应商反馈了很多次,都无法彻底解决数据显示的问题,没办法,自己周末在家研究,网站自动登录的事 ...

  5. 【JDBC】学习路径8-连接池

    为什么是连接池? 第一.受我们硬件资源的限制,我们的一些资源使用时有限制的比如我们的数据库 连接数和线程数.为了摆脱这些限制,我们就使用了池化技术来将这些资源限制在一定范围内. 第二.我们创建和销毁这 ...

  6. 【c#语言简单算法】1-角谷猜想

    角谷猜想 算法目的 一个正整数x,如果是奇数就乘以3再加1,如果是偶数就析出偶数因数2ⁿ,这样经过若干个次数,最终回到1. 这里计算0-100的所有计算过程 代码实现 for (int n = 1; ...

  7. 第七十八篇:写一个按需展示的文本框和按钮(使用ref)

    好家伙, 我们又又又来了一个客户 用户说: 我想我的页面上有一个搜索框, 当我不需要他的时候,它就是一个按钮 当我想要搜索的时候,我就点一下它, 然后按钮消失,搜索框出现, 当我在浏览其他东西时,这个 ...

  8. KingbaseESV8R6如何针对表单独设置vacuum策略

    背景 书接上文 KingbaseES应对表年龄增长过快导致事务回卷 ,有些特殊业务场景不能靠全局的autovacuum方法,例如大型数据库系统,频繁做update的系统,还有上文提到的做实时数据同步的 ...

  9. Spark 读Hive并写入HBase

    package com.grady import org.apache.hadoop.hbase.HBaseConfiguration import org.apache.hadoop.hbase.c ...

  10. 【SQLServer】max worker threads参数说明

    本文介绍如何使用SQL Server Management Studio或Transact-SQL在SQL Server中配置最大工作线程服务器配置选项. max worker threads选项配置 ...