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);
  }
  }
}


相关文章
|
1月前
|
Java 虚拟化 容器
(Java)Java里JFrame窗体的基本操作(容器布局篇-1)
容器 容器,我的理解是可以包容其他东西的玩意。它可以是一个盒子,可以是一个虚拟化的物品,可只要能包裹住其他存在质体的东西,那么都可以称作是容器。例如:JPanel组件和JScollPane组件两者都是容器也是组件。 既然有容器,那么容器中的布局就必不可少了。不然不规矩的摆放物品,人类看不习惯,我也看不习惯 ???? 本篇内容,将说明java JFrame窗体里容器中几类布局。 说明:所有在JFrame窗体里的容器布局都会使用setLayout()方法,采用的布局参数都将放进这个方法里 绝对布局 调用窗体容器
86 2
|
2月前
|
存储 前端开发 Java
【JAVA】Java 项目实战之 Java Web 在线商城项目开发实战指南
本文介绍基于Java Web的在线商城技术方案与实现,涵盖三层架构设计、MySQL数据库建模及核心功能开发。通过Spring MVC + MyBatis + Thymeleaf实现商品展示、购物车等模块,提供完整代码示例,助力掌握Java Web项目实战技能。(238字)
317 0
|
2月前
|
安全 Java API
Java Web 在线商城项目最新技术实操指南帮助开发者高效完成商城项目开发
本项目基于Spring Boot 3.2与Vue 3构建现代化在线商城,涵盖技术选型、核心功能实现、安全控制与容器化部署,助开发者掌握最新Java Web全栈开发实践。
353 1
|
3月前
|
运维 数据可视化 C++
2025 热门的 Web 化容器部署工具对比:Portainer VS Websoft9
2025年热门Web化容器部署工具对比:Portainer与Websoft9。Portainer以轻量可视化管理见长,适合技术团队运维;Websoft9则提供一站式应用部署与容器管理,内置丰富开源模板,降低中小企业部署门槛。两者各有优势,助力企业提升容器化效率。
346 1
2025 热门的 Web 化容器部署工具对比:Portainer VS Websoft9
|
3月前
|
前端开发 Java 数据库
Java 项目实战从入门到精通 :Java Web 在线商城项目开发指南
本文介绍了一个基于Java Web的在线商城项目,涵盖技术方案与应用实例。项目采用Spring、Spring MVC和MyBatis框架,结合MySQL数据库,实现商品展示、购物车、用户注册登录等核心功能。通过Spring Boot快速搭建项目结构,使用JPA进行数据持久化,并通过Thymeleaf模板展示页面。项目结构清晰,适合Java Web初学者学习与拓展。
300 1
|
3月前
|
JavaScript Java 微服务
现代化 Java Web 在线商城项目技术方案与实战开发流程及核心功能实现详解
本项目基于Spring Boot 3与Vue 3构建现代化在线商城系统,采用微服务架构,整合Spring Cloud、Redis、MySQL等技术,涵盖用户认证、商品管理、购物车功能,并支持Docker容器化部署与Kubernetes编排。提供完整CI/CD流程,助力高效开发与扩展。
477 64
|
4月前
|
缓存 NoSQL Java
Java Web 从入门到精通之苍穹外卖项目实战技巧
本项目为JavaWeb综合实战案例——苍穹外卖系统,涵盖Spring Boot 3、Spring Cloud Alibaba、Vue 3等主流技术栈,涉及用户认证、订单处理、Redis缓存、分布式事务、系统监控及Docker部署等核心功能,助你掌握企业级项目开发全流程。
541 0
|
4月前
|
安全 JavaScript Java
java Web 项目完整案例实操指南包含从搭建到部署的详细步骤及热门长尾关键词解析的实操指南
本项目为一个完整的JavaWeb应用案例,采用Spring Boot 3、Vue 3、MySQL、Redis等最新技术栈,涵盖前后端分离架构设计、RESTful API开发、JWT安全认证、Docker容器化部署等内容,适合掌握企业级Web项目全流程开发与部署。
312 0
|
4月前
|
NoSQL Redis Docker
使用Docker Compose工具进行容器编排的教程
以上就是使用Docker Compose进行容器编排的基础操作。这能帮你更有效地在本地或者在服务器上部署和管理多容器应用。
450 11
|
5月前
|
缓存 Java API
Java 集合容器实操技巧与案例详解
本教程基于Java 8+新特性和现代开发实践,深入讲解Java集合容器的实操技巧。通过具体场景演示Stream API数据处理、ConcurrentHashMap并发控制、LinkedHashMap实现LRU缓存、TreeSet自定义排序等高级特性。同时涵盖computeIfAbsent优化操作、EnumMap专用集合使用、集合统计与运算(交集、并集、差集)等内容。代码示例丰富,助力掌握高效编程方法。[点击获取完整代码](https://pan.quark.cn/s/14fcf913bae6)。
79 0