Java Web简明教程–Java篇[4]–常用容器

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: Java Web简明教程–Java篇[4]–常用容器

猫哥直接跳过了类、封装、继承,来讲容器。此处稍微提下需要掌握的,对于类,掌握下面这个最基本的就够了。


public class TypeName{//类名称
    //成员变量定义
    int i;
    string x;
    //成员函数定义
   public int add(){}
}

对于封装、继承甚至后面的接口、抽象类、内部类等Java语法,脱离了应用场景去学习是很飘渺的,所以在以后用到的时候再说明。在目前这个阶段,会定义类,然后实现类的对象,调用类的方法,可以了。


继续本篇的正题:常用容器。猫哥也不过多解释纷繁复杂的继承关系,简单把常用容器分类三类:List、Set、Map。


List是有序的元素集,常用的有ArrayList和LinkedList,其中ArrayList有点像数组,查询速度快,插入、删除速度慢。而LinkedList像链表,查询速度稍慢,插入、删除速度较快。List使用get(i)获取第i个元素(i就是顺序),使用add()添加元素。


Set是不包含重复元素的元素集。常用的有HashSet和TreeSet,HashSet性能好,比较常用。那还要TreeSet干哈呢,人家TreeSet能排序哦。


Map是key-value映射的元素集,也就是说Map中的每个元素包含两个部分,key表示元素的索引键,而value是该键对应的值。所以添加元素是put(key,value),获取元素是get(key),那key不存在get(key)就返回null了。

常用的类是HashMap。


说白了,List、Set、Map是三种接口,而ArrayList、LinkedList、HashSet、TreeSet、HashMap等是接口的具体实现类。


其实List和Set还是很像的,都是单个元素的元素集,所以他俩其实都有一个最基本的接口即Collection,这个Collection接口的标准非常简单,就是Object的集合,可以包含很多个Object。OK,写一段详细的代码演示下:

import java.util.*;//容器类所在的包得导入进来


/**
 * 容器使用演示
 * @作者 猫哥
 * @编码时间 2016.12.27
 */
public class ContainerDemo {//定义了一个类,用来演示容器的使用
  public static void main(String[] args) {//这个方法是程序的入口
  System.out.println("开始比较ArrayList和ArrayList");
  ArrayList stringList=new ArrayList();//这个ArrayList只能添加String类型元素
  ArrayList objectList=new ArrayList();//这是一个无类型说明的ArrayList,可以添加任意Object
  stringList.add("hello 101");//只能添加String类型的元素
  stringList.add("hello 102");
  System.out.println("遍历输出 stringList");
  for(int i=0;i
    System.out.println(stringList.get(i));
  }
  System.out.println("foreach输出 stringList 因为里面的元素都是统一的");
  for(String str:stringList){
    System.out.println(str);
  }
  objectList.add(103);//添加不同种类的元素,其实添加的是引用的值
  objectList.add("hello 103");
  System.out.println("遍历输出  objectList");
  for(int i=0;i
    System.out.println(objectList.get(i));
  }
  System.out.println("foreach输出 objectList ");
  for(Object obj:objectList){
    System.out.println(obj);
  }
  System.out.println("开始演示HashSet和TreeSet");
  HashSet hashSet=new HashSet();
  TreeSet treeSet=new TreeSet();
  hashSet.add("a");
  hashSet.add("b");
  hashSet.add("d");
  hashSet.add("c");
  hashSet.add("a");
  Iterator irhashSet=hashSet.iterator();//Iterator用于遍历
  System.out.println("输出可见a排除重复了,注意HashSet不保存存放时候的顺序");
  while(irhashSet.hasNext()) { 
    System.out.println(irhashSet.next());
  }
  treeSet.add("a");
  treeSet.add("b");
  treeSet.add("d");
  treeSet.add("c");
  treeSet.add("a");
  Iterator irTreeSet=treeSet.iterator();//Iterator用于遍历
  System.out.println("输出可见a排除重复了,TreeSet是有确定顺序的,一般是从小到达,从前到后");
  while(irTreeSet.hasNext()) { 
    System.out.println(irTreeSet.next());
  }
  HashMap hashMap=new HashMap();//key不可重复,value可以
  hashMap.put("学号001", "姓名张三");
  hashMap.put("学号002", "姓名李四");
  hashMap.put("学号003", "姓名张三");
  Iterator irHashMap = hashMap.keySet().iterator();//keySet()把hashMap中的key值整理为set
  while (irHashMap.hasNext()){
    Object key = irHashMap.next();//获取key
    Object val = hashMap.get(key);//获取对应value
    System.out.print(val);
  }
  }
}


目录
打赏
0
0
0
0
466
分享
相关文章
接替此文【下篇-服务端+后台管理】优雅草蜻蜓z系统JAVA版暗影版为例-【蜻蜓z系列通用】-2025年全新项目整合搭建方式-这是独立吃透代码以后首次改变-独立PC版本vue版搭建教程-优雅草卓伊凡
接替此文【下篇-服务端+后台管理】优雅草蜻蜓z系统JAVA版暗影版为例-【蜻蜓z系列通用】-2025年全新项目整合搭建方式-这是独立吃透代码以后首次改变-独立PC版本vue版搭建教程-优雅草卓伊凡
206 96
接替此文【下篇-服务端+后台管理】优雅草蜻蜓z系统JAVA版暗影版为例-【蜻蜓z系列通用】-2025年全新项目整合搭建方式-这是独立吃透代码以后首次改变-独立PC版本vue版搭建教程-优雅草卓伊凡
ASP.NET Web Pages - 教程
ASP.NET Web Pages 是一种用于创建动态网页的开发模式,采用HTML、CSS、JavaScript 和服务器脚本。本教程聚焦于Web Pages,介绍如何使用Razor语法结合服务器端代码与前端技术,以及利用WebMatrix工具进行开发。适合初学者入门ASP.NET。
Java容器及其常用方法汇总
Java Collections框架提供了丰富的接口和实现类,用于管理和操作集合数据。
Java容器及其常用方法汇总
自研Java框架 Sunrays-Framework使用教程「博客之星」
### Sunrays-Framework:助力高效开发的Java微服务框架 **Sunrays-Framework** 是一款基于 Spring Boot 构建的高效微服务开发框架,深度融合了 Spring Cloud 生态中的核心技术组件。它旨在简化数据访问、缓存管理、消息队列、文件存储等常见开发任务,帮助开发者快速构建高质量的企业级应用。 #### 核心功能 - **MyBatis-Plus**:简化数据访问层开发,提供强大的 CRUD 操作和分页功能。 - **Redis**:实现高性能缓存和分布式锁,提升系统响应速度。 - **RabbitMQ**:可靠的消息队列支持,适用于异步
自研Java框架 Sunrays-Framework使用教程「博客之星」
|
2月前
|
【02】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-2月12日优雅草简化Centos stream8安装zabbix7教程-本搭建教程非docker搭建教程-优雅草solution
【02】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-2月12日优雅草简化Centos stream8安装zabbix7教程-本搭建教程非docker搭建教程-优雅草solution
92 20
8G的容器Java堆才4G怎么就OOM了?
本文记录最近一例Java应用OOM问题的排查过程,希望可以给遇到类似问题的同学提供参考。
探究Java异常处理【保姆级教程】
Java 异常处理是确保程序稳健运行的关键机制。它通过捕获和处理运行时错误,避免程序崩溃。Java 的异常体系以 `Throwable` 为基础,分为 `Error` 和 `Exception`。前者表示严重错误,后者可细分为受检和非受检异常。常见的异常处理方式包括 `try-catch-finally`、`throws` 和 `throw` 关键字。此外,还可以自定义异常类以满足特定需求。最佳实践包括捕获具体异常、合理使用 `finally` 块和谨慎抛出异常。掌握这些技巧能显著提升程序的健壮性和可靠性。
59 4
【潜意识Java】Java基础教程:从零开始的学习之旅
本文介绍了 Java 编程语言的基础知识,涵盖从简介、程序结构到面向对象编程的核心概念。首先,Java 是一种高级、跨平台的面向对象语言,支持“一次编写,到处运行”。接着,文章详细讲解了 Java 程序的基本结构,包括包声明、导入语句、类声明和 main 方法。随后,深入探讨了基础语法,如数据类型、变量、控制结构、方法和数组。此外,还介绍了面向对象编程的关键概念,例如类与对象、继承和多态。最后,针对常见的编程错误提供了调试技巧,并总结了学习 Java 的重要性和方法。适合初学者逐步掌握 Java 编程。
63 1
Java最新图形化界面开发技术——JavaFx教程(含UI控件用法介绍、属性绑定、事件监听、FXML)
JavaFX是Java的下一代图形用户界面工具包。JavaFX是一组图形和媒体API,我们可以用它们来创建和部署富客户端应用程序。 JavaFX允许开发人员快速构建丰富的跨平台应用程序,允许开发人员在单个编程接口中组合图形,动画和UI控件。本文详细介绍了JavaFx的常见用法,相信读完本教程你一定有所收获!
3069 2
Java最新图形化界面开发技术——JavaFx教程(含UI控件用法介绍、属性绑定、事件监听、FXML)
Liunx部署java项目Tomcat、Redis、Mysql教程
本文详细介绍了如何在 Linux 服务器上安装和配置 Tomcat、MySQL 和 Redis,并部署 Java 项目。通过这些步骤,您可以搭建一个高效稳定的 Java 应用运行环境。希望本文能为您在实际操作中提供有价值的参考。
240 26