Java EE笔记之集合框架01

Java 集合专题 【韩顺平讲Java】Java集合专题 -ArrayList HashMap HashSet List Map TreeMap 01----集合的理解和好处 02----集合的框架体系 阅读详情

一. List集合介绍

UML图:
在这里插入图片描述

1.1List接口常用方法:

方法解释
add(Object element)向列表的尾部添加指定的元素
size()返回列表中的元素个数
get(int index)返回列表中指定位置的元素,index从0开始
add(int index, Object element)在列表的指定位置插入指定元素
set(int i, Object element)将索引i位置元素替换为元素element并返回被替换的元素
clear()从列表中移除所有元素
isEmpty()判断列表是否包含元素,不包含元素则返回 true,否则返回false
contains(Object o)如果列表包含指定的元素,则返回 true
remove(int index)移除列表中指定位置的元素,并返回被删元素
remove(Object o)移除集合中第一次出现的指定元素,移除成功返回true,否则返回false
iterator()返回按适当顺序在列表的元素上进行迭代的迭代器

List集合有三个儿子ArrayList和Vector还有一个LinkedList,它们各有各的特性只有ArratList完美继承了它父亲的所有特点

1.2特点:

基于数组实现的
List集合的特点是有序,可重复它的所有儿子都继承了这两个特点

二. Arraylist

arraylist继承了它父亲的所有方法,下面是两个方法的示范

import java.util.ArrayList;
public class Demo {
	public static void main(String[] args) {
		//<>表示泛型可以指定数据类型比如填String那么这个集合就只能填字符串类型
		ArrayList<String> list = new ArrayList<String>(); 
		list.add("user"); //add()用于向List集合容器中添加元素。
		list.add("text");
		System.out.println(list);
		System.out.println(list.size()); //size()用于获取集合的长度。
		System.out.println(list.get(1)); //get()获取指定下标(从0开始)位置的元素。
	}
}

arraylist是没有线程安全锁的可以查看源码看一下
ArrayList:以连续的数组结构存储数据,查询块(下标)、增删改慢

三. Vector

Vector特点:增删改查都慢,已过时,安全,加了线程锁,并且继承了它父亲的特点有序可重复

四. LinkedList

特点:链条式存储,有序可重复,因为是链条式存储所以导致它查询慢增删改快
子弹夹案例:

public class MyStack {
            //弹夹:
            private LinkedList ls=new LinkedList();

            //装弹(压栈):
            public void push(Object obj){

            ls.addFirst(obj); //每次都把子弹增加到第一颗,把原来的压到下面去

            }

            //打枪(出栈):
            public Object pop(){

                Object obj = ls.getFirst();//取出第一颗子弹
                ls.removeFirst(); //移除第一颗子弹
                return obj;//返回刚刚打出的子弹
            }

            //计算弹夹中子弹数量:
            public int size(){

            return ls.size();

            }

            public static void main(String[] args) {

            MyStack ms=new MyStack();

            ms.push("a");//装第一颗子弹

            ms.push("b");

            ms.push("c");

            ms.push("d");//装最后一颗子弹

            while(ms.size()!=0){//如果子弹数量不等于0,就一直循环

                System.out.println(ms.pop());

            }

            }
}

五. 循环取值方法

ArrayList取值方法

		//()里面是初始化集合的大小/长度
        List list=new ArrayList<>(50);
		list.add("字符串");
		list.add('a');
		list.add(1);
		list.add(true);
		//遍历方式一(foreach)
		for (Object o : list) {
			System.out.println(o);
		}
        //遍历方式二(通过下标)
		for(int i=0;i<list.size();i++) {
			System.out.println(list.get(i));
		}
        //迭代器(官方推荐使用)
		Iterator it = list.iterator();
		while(it.hasNext()) {//是否有下一个值
			Object next = it.next();//取值
			System.out.println(next);
		}

Vector取值方式

        Vector vc=new Vector();
        vc.add("字符串");
        vc.add(1);
        vc.add('a');
        vc.add(true);
        //foreach取值(快速简便)
        for (Object o : vc) {
            System.out.println(o);
        }
        //for循环取值
        for (int i = 0; i < vc.size(); i++) {
            System.out.println(vc.get(i));
        }
        //迭代器(官方推荐使用)
        Iterator iterator = vc.iterator();
        while (iterator.hasNext()){
            Object next = iterator.next();
            System.out.println(next);
        }

LinkedList取值方法

 LinkedList link=new LinkedList<>();
        link.add("字符串");
        link.add(1);
        link.add('a');
        link.add(true);
        //foreach取值(快速简便)
        for (Object o : link) {
            System.out.println(o);
        }
        //for循环取值
        for (int i = 0; i < link.size(); i++) {
            System.out.println(link.get(i));
        }
        //迭代器(官方推荐使用)
        Iterator iterator = link.iterator();
        while (iterator.hasNext()){
            Object next = iterator.next();
            System.out.println(next);
        }
Java学习笔记——Java EE(一)自动化构建工具:Maven教程 一、自动化构建工具:Maven教程01.目前所学技术02.目前技术在开发中存在的问题03.Maven是什么04.安装Maven核心程序05.Maven核心概念06.第一个Maven工程07. Eclipse中使用Maven 01.目前所学技术 表示层/表述层/表现层视图层控制层H5/CSS/JS/JSPServleft/Action/Handler业务逻辑层Spring IOC/AOP持久化层JD... 阅读详情

相关推荐

Java讲课笔记01:搭建Java开发环境

1. 了解Java语言的特点 2. 掌握Java环境变量的配置 3. 熟悉Java的运行机制

howard2005的专栏 5565

JAVA EE 框架介绍 (01)

框架(Framework)”一词最早出现在建筑领域,指的是在建造房屋前期构建的建筑骨架。在编程领域,框架就是应用程序的骨架,开发人员可以在这个骨架上加入自己的东西,搭建出符合自己需求的应用系统。​软件框架是一种通用的、可复用的软件环境,它提供特定的功能,促进软件应用、产品和解决方案的开发工作。软件框架会包含支撑程序、编译器、代码、库、工具集以及API,它把所有这些部件汇集在一起,以支持项目或系统的开发。

冷心笑看丽美人 ~ blog 1104

SQL 通过sum() over(order by ,rownum)实现财务现金日记账实例

SELECT 类型,to_char(发生日期,'yyyy-MM-dd') 发生日期,期初余额,借方金额,贷方金额, (CASE WHEN 借方金额>0 THEN '借' WHEN 贷方金额>0 THEN '贷' ELSE '平' END) 方向, sum(收支金额) over(order by 发生日期, rownum) 余额 FROM( SELECT LX 类型,账户,账号,摘要,发生日期,单据ID, ...

qq_41451794的博客 1023

【JAVA_EE】Day01 MyBatis框架

MyBatis框架是一个支持普通SQL操作、存储及高级映射的持久层框架,通过使用简单的XML或注解进行配置和原始映射,将接口和Java的POJO映射为数据库中的记录,使开发人员可以使用面向对象的编程思想和方式来操作数据库。

HLJ_Student的博客 1010

实验六 有源滤波器

实验六 有源滤波器一、实验目的二、仪器及设备三、预习要求画出三个电路的幅频特性曲线。四、实验内容l.低通滤波电路2.高通滤波电路3.带阻滤波电路(1)实测电路中心频率。(2)以实测中心频率为中心,测出电路幅频特性。五、实验报告六,仿真图:图 1 低通滤波器仿真图图 2 高通滤波器仿真图图 3 带阻滤波电路仿真图 一、实验目的 1.熟悉有源滤波电路构成及其特性。 2.学会测量有源滤波电路幅频特性。 二、仪器及设备 1.示波器 2.信号发生器 三、预习要求 1.预习教材有关滤波电路

胡毛毛的博客 1万+

BeautyGAN: Instance-level Facial Makeup Transfer with Deep Generative Adversarial Network(2018,妆容迁移)

论文下载地址:BeautyGAN | Proceedings of the 26th ACM international conference on Multimedia 目的:在实例级实现化妆图像和非化妆图像的妆容迁移 方法:全局域集损失和本地实例级损失合并到一个双输入/输出对抗生成网络。步骤:使用一对鉴别器将非化妆面传输到化妆域,鉴别器从域的真实样本中分辨出生成的图像。在域集迁移的基础上,采用基于不同人脸区域的像素级直方图损失来实现实例级迁移。为了保持人脸的一致性和消除伪影,在总体目标函数中加入了.

weixin_53965540的博客 664

第01篇 · 初识JavaEE:从J2EE到Jakarta EE的演进之路

在继续往下之前,我们必须把“规范”这个概念彻底搞清楚。规范(Specification)是一套接口定义、行为约定和约束条件,它只告诉你“应该做什么”和“应该长什么样”,但不告诉你“具体怎么做”。Servlet 规范定义了类应该有doGet()doPost()方法,但不实现这些方法如何处理具体的网络请求Tomcat是 Servlet 规范的一个实现——它真正去监听端口、解析 HTTP 请求、调用你的 Servlet 代码就像JDBC 规范定义了ConnectionStatement接口,但。

2301_80720675的博客 599

AD9176 双通道高速DAC调试记录

AD9176是一款高性能双通道16位数模转换器,支持高达12.6GSPS采样率,专为多频段无线应用设计。该器件集成8通道15.4Gbps JESD204B接口,支持复数/实数数据输入,每通道最大输入速率达3.08GSPS。关键特性包括:48位高精度NCO、灵活的插值滤波器(最高12倍)、优异的动态性能(SFDR达-83dBc@1.84GHz)以及多芯片同步功能。硬件调试需重点关注时钟配置(建议250M基准时钟)、JESD参数匹配及交流耦合设计。测试指标要求SFDR>55dBc@312MHz,实测值可达65d

universaldata的博客 1493

Java2EE练习及面试题_chapter11Java集合_上

Java2EE练习及面试题_chapter11Java集合_上

需要远程指导仿真实验、代码有问题的,请后台私信或者关注公众号 770

本地构建AI智能分析助手之 05 PandasAI如何MySQL数据库 (教程含源码)

与 PostgreSQL 连接器类似,MySQL 连接器允许您连接到 MySQL 数据库。即使您不熟悉 MySQL 或 PandasAI,它也设计得易于使用。

iCloudEnd的博客 704

Agent 智能体学习指南:从入门到求职的完整路线

AI Agent 不是更长的 prompt,而是一类系统设计——模型在受控环境里观察状态、选择动作、调用工具、接收反馈。本文系统梳理 Agent 的 5 个核心概念、7 个关键模块(Goal/State/Context/Tools/Loop/Guardrails/Eval)、三条学习路线(工程落地/研究算法/求职作品)、框架选型策略(LangGraph/OpenAI Agents SDK/Pydantic AI 等场景推荐),以及可执行的 7 天最小项目计划(从概念到简历 bullet)。

program哲学 231

框架随手笔记01

框架随手笔记01 Spring框架主要功能是整合各种框架,包含了IOC/DI IOC可以直接调用数据,类似javaweb里面的req,resp直接调用属性,ioc.getBean(类名.class),返回值直接调用类中的方法 如controller里面包含了 public void add(){}方法,使用ioc.genBean(controller.class),<返回值名称例如是...

weixin_45783387的博客 121

【2025年华为秋招(AI)-11月19日-第二题(200分)- 终端款型聚类识别】(题目+思路+Java&C++&Python解析+在线测试)

该摘要总结了题目要求、输入输出格式、KMeans算法的实现步骤以及关键点。以下是150字内的摘要: 本文提出基于KMeans算法对终端型号进行聚类的方法。通过包间隔时长、连接持续时长、漫游前后信号强度4个特征,使用欧氏距离度量相似度。算法采用固定初始化策略(前k个样本作为初始质心),经过分配-更新迭代,直至质心移动小于1e-8或达到最大迭代次数。最终输出各簇样本数并按升序排列,解决了终端型号自动分类问题。示例显示该方法能有效识别3-4类终端,并准确统计每类数量。

m0_73659489的博客 141

【基于轻量型架构的WEB开发】课程 第14章 SSM框架整合 Java EE企业级应用开发教程 Spring+SpringMVC+MyBatis

对于Java EE应用程序的开发,行业中提供了非常多的技术框架,但是不管如何进行技术选型,Java EE应用都可以分为表现层业务逻辑层和数据持久层,当前,这3个层的主流框架分别是Spring MVCSpring和MyBatis,简称为SSM框架,Java EE应用程序也经常通过整合这3大框架来完成开发。SSM框架的整合有多种方式,本章将对图书完稿时常用的整合方式和纯注解的整合方式来对SSM框架的整合进行讲解。14.1 常用方式整合SSM框架。

Kika写代码的博客 1506

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

java ee 互联网_Java EE互联网轻量级框架整合开发

Java EE互联网轻量级框架整合开发完整版下载。本光盘是《轻量级Java EE企业应用开发实战——Struts 2+Spring+Hibernate整合开发》一书的配书光盘,书中的代码按章、按节存放,即第2章、第1节所使用的代码放在codes文件夹中的02\2.1文件夹下,依此类推。有需要的朋友欢迎下载!!Java EE互联网轻量级框架整合开发光盘内容另:书中每份源代码也给出与光盘源文件的对应关...

weixin_35786770的博客 421

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

java ee是什么_Java学习笔记day09

集合集合与数组的区别数组不是面向对象的,存在明显的缺陷,集合弥补了数组的缺点,比数组更灵活更实用,而且不同的集合框架类可适用不同场合。如下:数组能存放基本数据类型和对象,而集合类存放的都是对象,集合类不能存放基本数据类型。数组和集合存放的对象皆为对象的引用地址。数组容易固定无法动态改变,集合类容量动态改变。数组无法判断其中实际存有多少元素,length只告诉了数组的容量,而集合的size()可以确...

weixin_39628342的博客 124

集合_Day01

集合 集合用于存储数量不等的多个对象,还可以用于保存有映射关系的关联数组(存储是指在内存层面的) Collection接口 |------Collection接口 : 单列集合,用来存储一个一个的对象 |------List 存储有序,重复的 |----- ArrayList (线程不安全, 效率高,底层使用Object[]存储) |----- LinkedList (底层使用双向链表,对于频繁的插入,删除操作,使用LinkedList效

Anoraker的小屋 7139

Java SE 和 Java EE 的区别

Java 是一门面向对象编程语言,不仅吸收了 C++ 语言的各种优点,还摒弃了 C++ 里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。 Java 语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。 01 Java EE 是指 Java Enterprise Edition,Java 企业版,多用于企业级开发,包括 web 开发等等。也叫 J2EE。 Java SE 通常是指 Java Standard Edition,J

web15285868498的博客 737

【代码审计】Java EE 基础知识

Java 平台分为三个主要版本: Java SE(Java 平台标准版) Java EE(Java 平台企业版) Java ME(Java 平台微型版) Java EE 是 Java 应用最广泛的版本。 0x01 Java EE 的核心技术 Java EE 有十三种核心技术,它们分别是:JDBC、JNDI、EJB、RMI、Servlet、JSP、XML、JMS、Java IDL、JTS、JTA、JavaMail 和 JAF,这里重点介绍以下几种: Java 数据库连接(Java Database Co

TeamsSix 的 优快云 空间 778

《java从入门到精通》——集合类 2020-01-18 java学习笔记

14 集合类 14.1集合类概述 集合类又被称为容器,存放对象的引用,长度可变 常见的有List集合、Map集合、Set集合 List集合、Set集合实现了Collection接口 java.lang.Object Map HashMap TreeMap Collection Set HashSet TreeSet List ArrayList LikedList 14.2Collection接口 Collection接口是层次结构中的根接口,构成Collection的

weixin_43111836的博客 152

黑马Java EE学习day01

Java是美国 sun 公司(Stanford University etwork)在1995年推出的一门计算机高级编程语言,詹姆斯·高斯林(James Gosling)是Java之父,Java语言早期被称作为Oak(橡树),后改为Java,2009年 sun公司被Oracle公司收购。(注意:大部企业用的都是JDK17,这个用的稳定,太新的需要花时间去适应新的功能,且不一定稳定)。Java SE (标准版),Java技术的核心和基础,是其他两个平台的基础,也可以用于开发桌面应用;一次编译,处处可用。

m0_61497585的博客 1747

01.09学习Java的day19【集合】

day19【Collection与Map集合框架】 主要内容 List集合 Set集合 Map集合 学习目标 能够说出List集合和Set集合的区别 能够说出List集合各种实现类的区别 能够说出Set集合各种实现类的区别 能够说出Collection集合与Map集合的区别 掌握Map集合的常用API 能够遍历Map集合 能够说出Map集合各种实现类的区别 第十二章 集合(续...

weixin_45506970的博客 293

集合框架 (一)Collection单列集合

集合是一种容器,用来装数据的,类似于数组,但集合的大小可变,经常使用。

2302_80229106的博客 1056

JAVA EE最基础最简单的——Struts2框架——基础篇

目标要求: 注释: 1.private String name 意思?(java的)——某个类定义了一个只能在该类内部才能访问的,名叫name的字符串变量 (1)private 访问限定符,表示后面定义的量只有在该类中才能访问 (2)String 类型名称,表示后面定义的变量是一个字符串类型的变量 (3)name 变量名称,用来再在程序中使用改变量 2.package节点是整个配置的核心部分。 (1) name——为每个package设置一个唯一的标识 (2)extends 通过使用extends,你可以

YANGSIDA_的博客 508
上一篇: Javaweb笔记之easyui数据绑定&分页
下一篇: j2ee笔记之反射机制
内涵神仙
博客等级 码龄5年 19粉丝 27原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值