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. EPLAN 中的符号、元件、部件与设备之间的区别

    符号(Symbol):电气符号是电器设备(Electrical equipment)的一种图形表达,符号存放在符号库中,是广大电气工程师之间的交流语言,用来传递系统控制的设计思维的.将设计思维体现出来 ...

  2. 技术分享 | MySQL数据误删除的总结

    欢迎来到 GreatSQL社区分享的MySQL技术文章,如有疑问或想学习的内容,可以在下方评论区留言,看到后会进行解答 内容提要 用delete语句 使用drop.truncate删除表以及drop删 ...

  3. 在 Linux 系统中安装 Node.js 的流程

    下载资源包 在 NodeJS 官网下载压缩包: 将压缩包中的 node-v14.17.0-linux-x64.tar 拖出来,只需要里面的 tar 压缩包. 解压到 Linux 目录中 解压压缩包到当 ...

  4. [CISCN2019 华北赛区 Day1 Web2]ikun-1

    考点:JWT身份伪造.python pickle反序列化.逻辑漏洞 1.打开之后首页界面直接看到了提示信息,信息如下: 2.那就随便注册一个账号进行登录,然后购买lv6,但是未发现lv6,那就查看下一 ...

  5. Redis图形化管理工具

    一.treeNMS Redis做为现在web应用开发的黄金搭担组合,工作中的项目大量使用了Redis,treeNMS是一款用于JAVA语言开发的Redis管理工具:treeNMS管理工具,直接到htt ...

  6. openstack中Neutron组件简解

    一.Neutron概述 Neutron 的设计目标是实现"网络即服务(Networking as a Service)".为了达到这一目标,在设计上遵循了基于 SDN 实现网络虚拟 ...

  7. Yarn上运行spark-shell和spark-sql命令行

    spark-shell On Yarn spark-shell \ --master yarn-client \ --executor-memory 1G \ --num-executors 10 s ...

  8. Windows 10 Technical Preview 屏幕亮度

    下载了  Windows 10 Technical Preview 安装好之后都挺正常的,就是显卡驱动没有, 联上网络, 自动找到驱动,看起来一切都挺好的. 但是重启之后,屏幕就变得特别暗了, 亮 ...

  9. 02 uniapp/微信小程序 项目day02

    一.分类 1.1 页面布局 首先创建cate的分支 定义基本结构,因为是两个需要滚动的区域,所以这里要用到组件 scroll 这个组件如果是y scroll那就要固定高度,x scroll那就要固定宽 ...

  10. ProxySQL Cluster 概述

    文章转载自:https://blog.csdn.net/n88Lpo/article/details/79608639 前言 在ProxySQL 1.4.2 之前,ProxySQL 单点的解决方法有配 ...