Java中Collection集合、List集合、List集合的实现类、数据结构

LLM推理服务中的SLO感知调度优化实践 在AI服务架构中,服务级别目标(SLO)是衡量服务质量的核心指标,特别是在大型语言模型(LLM)推理场景下。SLO通常涉及TTFT(首token时间)、TPOT(每token生成时间)和端到端延迟等关键维度,这些指标直接影响用户体验和系统效率。传统FCFS调度策略由于缺乏SLO感知能力,在混合负载下往往导致资源利用率低下和SLO达标率骤降。通过引入基于模拟退火的动态调度算法和精准的延迟预测模型,可以实现对不同优先级请求的智能调度,显著提升GPU利用率和SLO达标率。这种技术方案特别适用于需要同时处理实时对话 阅读详情

1.Collection集合

1.1 数组和集合的区别【理解】

- 相同点
  都是容器,可以存储多个数据
- 不同点
  - 数组的长度是不可变的,集合的长度是可变的
  - 数组可以存基本数据类型和引用数据类型
    集合只能存引用数据类型,如果要存基本数据类型,需要存对应的包装类

1.2 集合类体系结构【理解】

在这里插入图片描述

1.3 Collection 集合概述和使用【应用】

- Collection集合概述
  - 是单例集合的顶层接口,它表示一组对象,这些对象也称为Collection的元素
  - JDK 不提供此接口的任何直接实现.它提供更具体的子接口(如Set和List)实现
- 创建Collection集合的对象
  - 多态的方式
  - 具体的实现类ArrayList
- Collection集合常用方法
    方法名                       	说明               
    boolean add(E e)          	添加元素             
    boolean remove(Object o)  	从集合中移除指定的元素      
    boolean removeIf(Object o)	根据条件进行移除         
    void   clear()            	清空集合中的元素         
    boolean contains(Object o)	判断集合中是否存在指定的元素   
    boolean isEmpty()         	判断集合是否为空         
    int   size()              	集合的长度,也就是集合中元素的个数

1.4 Collection集合的遍历【应用】

- 迭代器介绍
  - 迭代器,集合的专用遍历方式
  - Iterator<E> iterator(): 返回此集合中元素的迭代器,通过集合对象的iterator()方法得到
- Iterator中的常用方法
  	boolean hasNext(): 判断当前位置是否有元素可以被取出
  	E next(): 获取当前位置的元素,将迭代器对象移向下一个索引位置
  • Collection集合的遍历

      public class IteratorDemo1 {
          public static void main(String[] args) {
              //创建集合对象
              Collection<String> c = new ArrayList<>();
      
              //添加元素
              c.add("hello");
              c.add("world");
              c.add("java");
              c.add("javaee");
      
              //Iterator<E> iterator():返回此集合中元素的迭代器,通过集合的iterator()方法得到
              Iterator<String> it = c.iterator();
      
              //用while循环改进元素的判断和获取
              while (it.hasNext()) {
                  String s = it.next();
                  System.out.println(s);
              }
          }
      }
  • 迭代器中删除的方法
void remove(): 删除迭代器对象当前指向的元素
      public class IteratorDemo2 {
          public static void main(String[] args) {
              ArrayList<String> list = new ArrayList<>();
              list.add("a");
              list.add("b");
              list.add("b");
              list.add("c");
              list.add("d");
      
              Iterator<String> it = list.iterator();
              while(it.hasNext()){
                  String s = it.next();
                  if("b".equals(s)){
                      //指向谁,那么此时就删除谁.
                      it.remove();
                  }
              }
              System.out.println(list);
          }
      }

1.5增强for循环【应用】

  • 介绍
  - 它是JDK5之后出现的,其内部原理是一个Iterator迭代器
  - 实现Iterable接口的类才可以使用迭代器和增强for
  - 简化数组和Collection集合的遍历
  • 格式
for(集合/数组中元素的数据类型 变量名 :  集合/数组名) {
	// 已经将当前遍历到的元素封装到变量中了,直接使用变量即可
}
  • 代码
public class MyCollectonDemo1 {
      public static void main(String[] args) {
          ArrayList<String> list =  new ArrayList<>();
          list.add("a");
          list.add("b");
          list.add("c");
          list.add("d");
          list.add("e");
          list.add("f");
  
          //1,数据类型一定是集合或者数组中元素的类型
          //2,str仅仅是一个变量名而已,在循环的过程中,依次表示集合或者数组中的每一个元素
          //3,list就是要遍历的集合或者数组
          for(String str : list){
              System.out.println(str);
          }
      }
  }

2.List集合

2.1List集合的概述和特点【记忆】

  • List集合的概述
- 有序集合,这里的有序指的是存取顺序
  - 用户可以精确控制列表中每个元素的插入位置,用户可以通过整数索引访问元素,并搜索列表中的元素
  - 与Set集合不同,列表通常允许重复的元素
  • List集合的特点
  - 存取有序
  - 可以重复
  - 有索引

2.2List集合的特有方法【应用】

  • 方法介绍
	 	方法名                            			描述                 
	    void add(int index,E   element)		在此集合中的指定位置插入指定的元素  
	    E remove(int   index)          		删除指定索引处的元素,返回被删除的元素
	    E set(int index,E   element)   		修改指定索引处的元素,返回被修改的元素
	    E get(int   index)             		返回指定索引处的元素         
  • 示例代码
public class MyListDemo {
      public static void main(String[] args) {
          List<String> list = new ArrayList<>();
          list.add("aaa");
          list.add("bbb");
          list.add("ccc");
          //method1(list);
          //method2(list);
          //method3(list);
          //method4(list);
      }
  
private static void method4(List<String> list) {
          //        E get(int index)		返回指定索引处的元素
          String s = list.get(0);
          System.out.println(s);
      }
  private static void method3(List<String> list) {
          //        E set(int index,E element)	修改指定索引处的元素,返回被修改的元素
          //被替换的那个元素,在集合中就不存在了.
          String result = list.set(0, "qqq");
          System.out.println(result);
          System.out.println(list);
      }
 private static void method2(List<String> list) {
      //        E remove(int index)		删除指定索引处的元素,返回被删除的元素
      //在List集合中有两个删除的方法
      //第一个 删除指定的元素,返回值表示当前元素是否删除成功
      //第二个 删除指定索引的元素,返回值表示实际删除的元素
      String s = list.remove(0);
      System.out.println(s);
      System.out.println(list);
  }
  private static void method1(List<String> list) {
          //        void add(int index,E element)	在此集合中的指定位置插入指定的元素
          //原来位置上的元素往后挪一个索引.
          list.add(0,"qqq");
          System.out.println(list);
      }
  }

3.数据结构

3.1数据结构之栈和队列【记忆】

- 栈结构
  	先进后出
- 队列结构
  	先进先出

3.2数据结构之数组和链表【记忆】

- 数组结构
  	查询快、增删慢
- 队列结构
  	查询慢、增删快

4.List集合的实现类

4.1List集合子类的特点【记忆】

- ArrayList集合
  	底层是数组结构实现,查询快、增删慢
- LinkedList集合
  	底层是链表结构实现,查询慢、增删快

4.2LinkedList集合的特有功能【应用】

  • 特有方法
  	方法名                      			说明              
    public void addFirst(E e)		在该列表开头插入指定的元素   
    public void addLast(E e) 		将指定的元素追加到此列表的末尾 
    public E getFirst()      		返回此列表中的第一个元素    
    public   E getLast()     		返回此列表中的最后一个元素   
    public E removeFirst()   		从此列表中删除并返回第一个元素 
    public   E removeLast()  		从此列表中删除并返回最后一个元素
  • 示例代码
 public class MyLinkedListDemo4 {
      public static void main(String[] args) {
          LinkedList<String> list = new LinkedList<>();
          list.add("aaa");
          list.add("bbb");
          list.add("ccc");
  //        public void addFirst(E e)	在该列表开头插入指定的元素
          //method1(list);
  
  //        public void addLast(E e)	将指定的元素追加到此列表的末尾
          //method2(list);
  
  //        public E getFirst()		返回此列表中的第一个元素
  //        public E getLast()		返回此列表中的最后一个元素
          //method3(list);
  
  //        public E removeFirst()		从此列表中删除并返回第一个元素
  //        public E removeLast()		从此列表中删除并返回最后一个元素
          //method4(list);
        
      }
   private static void method4(LinkedList<String> list) {
          String first = list.removeFirst();
          System.out.println(first);
  
          String last = list.removeLast();
          System.out.println(last);
  
          System.out.println(list);
      }
  
      private static void method3(LinkedList<String> list) {
          String first = list.getFirst();
          String last = list.getLast();
          System.out.println(first);
          System.out.println(last);
      }
  
      private static void method2(LinkedList<String> list) {
          list.addLast("www");
          System.out.println(list);
      }
  
      private static void method1(LinkedList<String> list) {
          list.addFirst("qqq");
          System.out.println(list);
      }
  }
  
从亚稳态到稳定传输:深入解析CDC跨时钟域同步的核心技术与设计实践 本文深入解析了CDC(跨时钟域同步)技术的核心问题与解决方案,重点探讨了亚稳态现象及其危害,详细介绍了同步器设计、MTBF计算方法以及单bit和多bit信号同步的实战技巧。通过Verilog代码示例和工程实践案例,帮助读者掌握从亚稳态到稳定传输的关键技术,提升数字电路设计的可靠性。 阅读详情

相关推荐

别再只看成交量了!用通达信这个VOL监测公式,一眼识别主力吸筹与出货信号

本文详细介绍了通达信VOL监测公式的实战应用,通过彩色量柱和换手率分层技术,帮助投资者识别主力吸筹与出货信号。该公式结合动态量能标准化和多周期均线组合,提供可视化主力行为图谱,提升交易决策的准确性。

weixin_28693447的博客 656

[Java]Day5 集合①:Collection、迭代器、增强for、List

Collection集合 Collection集合概述 是单例集合的顶层接口,它表示一组对象,这些对象也称为Collection的元素 JDK 不提供此接口的任何直接实现.它提供更具体的子接口(如Set和List)实现 创建Collection集合的对象 多态的方式 具体的实现类ArrayList Collection集合常用方法 方法名 说明 boolean add(E e) 添加元素 boolean remove(Object o) 从集合中移除指定的元素

DhzWorld的博客 228

保姆级教程:用高云GW2A开发板搭建RISC-V软核处理器(含DDR3内存优化配置)

本文提供了一份详细的保姆级教程,指导开发者使用高云GW2A-LV18PG256C8 FPGA开发板搭建RISC-V软核处理器系统。教程涵盖了从开发环境搭建、PicoRV32软核集成,到关键的DDR3内存控制器配置与优化,并深入讲解了时序约束与系统调试方法,帮助初学者和爱好者实现从逻辑设计到软硬件协同的深度实践。

2a4s6d8f0g的博客 564

MyBatis,resultmap中collection 返回List<Long>

<select id="queryPharmacyVisitIds" resultMap="queryProductAndPharmacyVisit"> SELECT tp.product_id, tp.start_date, tp.end_date, tpv.pharmacy_visit_id ...

yx_liu的博客 6103

DC/DC开关电源EMC仿真红宝书

本红宝书系统性介绍开关电源EMC仿真方法,包括仿真原理、仿真思路、仿真工具以及仿真效率提升与仿测一致性的实战经验。从理论到仿真,从仿真到应用,真正帮你实现一文掌握开关电源EMC仿真!全文约14000字,适读人群:开关电源设计、电磁兼容EMC相关从业者,电磁相关专业研究生及CST仿真爱好者等。

电磁学社 2498

手把手教你用CsvView分析大疆无人机飞行日志(附实战CTF题解)

本文详细介绍了如何使用CsvView工具分析大疆无人机飞行日志,包括环境搭建、日志提取、核心功能解析及CTF实战技巧。通过实战案例,帮助读者掌握无人机取证的关键技术,提升日志分析能力,特别适合网络安全竞赛和实际取证场景。

weixin_42652674的博客 455

关于Collection&List 单列可重复集合的描述

集合的概述: 提供一种储存空间可变的存储模型 存储的数据容量可以随时发生 体系图: Collection 集合: 由体系图可知 其为单列集合 ;是单例集合的顶层接口,它表示一组对象,这些对象也称为Collection的元素;JDK 不提供此接口的任何直接实现,它提供更具体的子接口(如Set(不可重复)和List(可重复))实现。 Collection常用方法: | boolean add(E e) | 添加元素 | | bo...

ljbnb的博客 337

扩增子分析|溯源分析在R中的复现:跟着Nature系列文章利用FEAST溯源分析包追溯微生物群落的起源

溯源分析由Liat Shenhav等人在2019年发表在Nature Methods杂志,他们开创的一种分析微生物群落组成结构的方法,通过量化不同微生物样本(来源)在目标微生物群落(汇)中的比例或分数识别微生物群落的潜在来源。该方法自发表以来受到微生物学界广泛关注,该论文截止2024年10月9日已经被引289次,是领域内高被引论文,该方法已经成为Nature,cell系列文章高度关注的方法。

weixin_46814750的博客 3433

Java中的List与Set转换

一、List列表与Set列表的区别 List列表是有序、可以重复、线程不安全的列表,Set是无序、不能重复、线程不安全的列表。但List和Set可以通过方法来转换为线程安全的,加互斥锁。 Set<Long> set=new HashSet<>(); //转换为线程安全的集合 Collections.synchronizedSet(...

Dream_it_possible!的博客 9万+

CTF逆向-[GWCTF 2019]babyvm-WP-虚机模拟流程反向编码和z3约束求解器解方程工具的使用

CTF逆向-[GWCTF 2019]babyvm-WP-虚机模拟流程反向编码和z3约束求解器解方程工具的使用 来源:https://buuoj.cn/ 内容: 附件:https://pan.baidu.com/s/1FKkXN6JDI0QkGw-UE2crNA?pwd=grb0 提取码:grb0 答案:Y0u_hav3_r3v3rs3_1t! 总体思路 发现是虚机模拟 形成每个指令的逆向 找到加密值位置(有可能不止一个位置,该题就给了一个误导的) 找到命令执行的流程(也是不止一个) 逆向编写反向加密得到f

serfend's blog 976

实战神器指标解析 篇四:主力吸筹指标及其分析和使用说明

主力可能会进行多次吸筹,因此需要根据黄色趋势线来判断是否有转强的变化。一旦出现转强的迹象,这通常意味着吸筹已经接近尾声,即将进入拉升前期。此时可以介入进行建仓。该股票指标通过分析价格变动的方式,能够精确跟踪并标识主力的吸筹行为。当底部出现多根洋红色柱子时,这通常表示出现了主力吸筹的指示。这段代码主要用于分析股票的底部吸筹情况、趋势和涨跌情况。

生活在别处 6215

技术总监写的十个方法,让我精通了lambda表达式

前公司的技术总监写了工具类,对Java Stream 进行二次封装,使用起来非常爽,全公司都在用。我自己照着写了一遍,改了名字,分享给大家。一共整理了10个工具方法,可以满足 Collection、List、Set、Map 之间各种类型转化。例如ListSetListSet(v)->{}Collection。

沁禹的博客 1168

lammps教程:实例讲解npt、nvt系综的选择

对于lammps新手来说,系综的选择令人困惑,到底是应该用nvt系综还是npt系综? 我在初学lammps时就被这个问题困扰了很久。如果去问别人,可能会告诉你一个答案:根据模拟需要确定。 其实和没说一样。 到底如何确定系综,确实不是一句两句能够说清楚的,不同的体系、不同的模拟目的要选择不同的系综。 前几天遇到的一个合金的模拟案例,比较有代表性,分享出来供大家参考。 建模方法和之前介绍过的高熵合金建模方法类似,先建立单晶模型,然后使用替换原子的命令获得合金结构。 建模完成后,按照常规,先上nvt系综进行驰豫

lammps_jiayou的博客 9766

Java集合(Collection、List及实现类、数据结构、泛型)

Collection集合概述是单例集合的顶层接口,它表示一组对象,这些对象也称为Collection的元素JDK 不提供此接口的任何直接实现.它提供更具体的子接口(如Set和List)实现创建Collection集合的对象多态的方式具体的实现类ArrayListCollection集合常用方法方法名说明添加元素从集合中移除指定的元素根据条件进行移除清空集合中的元素判断集合中是否存在指定的元素判断集合是否为空集合的长度,也就是集合中元素的个数List集合的概述。

yqqの博客 151

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

Collection和List集合

1.Collection集合 1.1数组和集合的区别【理解】 相同点 都是容器,可以存储多个数据 不同点 数组的长度是不可变的,集合的长度是可变的 数组可以存基本数据类型和引用数据类型 集合只能存引用数据类型,如果要存基本数据类型,需要存对应的包装类 1.2集合类体系结构【理解】 1.3Collection 集合概述和使用【应用】 Collection集合概述 是单例集合的顶层接口,它表示一组对象,这些对象也称为Colle

jiayu123321的博客 1098

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

今日分享 集合、Collection、List

Collection集合概述是单例集合的顶层接口,它表示一组对象,这些对象也称为Collection的元素JDK 不提供此接口的任何直接实现.它提供更具体的子接口(如Set和List)实现创建Collection集合的对象多态的方式具体的实现类ArrayListCollection集合常用方法| 方法名 | 说明 || — | — || boolean add(E e) | 添加元素 |

qq_73643693的博客 958

怀旧版电脑GBC模拟器

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

JavaSE第十天——集合框架Collection概述

参考https://file.xdclass.net/

2301_76231794的博客 281

Collection集合

先用空参构造,此时底层会有一个名叫elementData的数组,该数组长度为0,再利用add方法进行添加元素的时候就会新建一个数组长度为10,把该数组赋值给elementData,如果用add方法添加元素满了,还想添加此时会扩容,按原数组长度的1.5倍进行扩容,那新建的数组长度就为15,此时再把元素组中的元素添加到新数组当中,后面也是按这样的步骤原数组的长度1.5倍进行扩容。此时就可以体现数组的查找的好处,因为是连续的空间并且有下标,那么可以快速的查找到元素,但增加和删除元素就不一样了。

weixin_57535644的博客 959

Java 集合容器之Collection接口,Map接口实现类

对java集合相关知识,予以记录!集合可以看作是一种容器,用来存储对象信息,所有集合类都在java.util包下,且支持多线程的集合类位于java.util.concurrent包下Java的集合类主要由两个根接口派生出来,分别是Collection和Map。Java中的集合类一类是实现Collection接口;另一类是实现Map接口:Collection接口:单列集合,用来存储一个一个对象。Collection中可以容纳一组集合元素(Element)

qq_43357394的博客 544

Collection集合语法(全面)

Collection集合、List集合、ArrayList集合、LinkedList集合、Set集合、HashSet集合、LinkedHashSet集合、TreeSet集合

2302_76758195的博客 2174

java学习笔记(十三):Collection集合、List集合、List集合的实现类、泛型、Set集合、TreeSet集合、Map集合、HashMap集合、TreeMap集合

Collection集合概述是单例集合的顶层接口,它表示一组对象,这些对象也称为Collection的元素JDK 不提供此接口的任何直接实现.它提供更具体的子接口(如Set和List)实现创建Collection集合的对象多态的方式具体的实现类ArrayListCollection集合常用方法方法名说明添加元素从集合中移除指定的元素根据条件进行移除清空集合中的元素判断集合中是否存在指定的元素判断集合是否为空int size()集合的长度,也就是集合中元素的个数。

weixin_62764364的博客 1209

7集合-List Collection集合 List集合 数据结构 List集合的实现类

1.Collection集合 1.1数组和集合的区别【理解】(视频01) (6‘’) 相同点 都是容器,可以存储多个数据 不同点 数组的长度是不可变的,集合的长度是可变的 数组可以存基本数据类型和引用数据类型 集合只能存引用数据类型,如果要存基本数据类型,需要存对应的包装类 1.2集合类体系结构【理解】(视频02) (3‘’) Collection是单列集合的顶层接口 单列: 一次存取只能操作一个元素 Map是双列集合的顶层接口 双列: 一次存取只能操作一对元素 1.3Coll

InLoadwetrust的博客 210

Java核心特性 集合框架

接口:定义了集合的行为和操作。实现类:实现了接口的具体数据结构。算法:提供了对集合进行操作的方法,如排序、搜索等。

yuehua00的专栏 490

java 快速查找 list_JAVA 集合

1.1 使用集合框架的原因因为传统的容器(数组)在进行增、删等破坏性操作时,需要移动元素,可能导致性能问题;同时添加、删除等算法和具体业务耦合在一起,增加了程序开发的难度。因此,java集合框架提供了一套性能优良、使用方便的接口和类,它们位于java.util包中。1.2 CollectionCollection 是java 集合框架(collection-frame)中的顶层接口。Collect...

weixin_39905725的博客 8845

结合数据结构系统理解java集合框架——上

本文通过数据结构介绍了 Java 常见集合的底层原理,帮助大家更好的理解这些集合的特点。介绍每个集合的特点的时候,配合数据结构进行讲解是本文的特色。阅读本文,你会发现集合的增删改查其实和数据结构紧密联系的,对集合和数据结构的理解也会更深刻。

AiPrograming的博客 1815

08-集合1-集合类体系结构、Collection、List、泛型

相同点都是容器,可以存储多个数据不同点数组的长度是不可变的,集合的长度是可变的数组可以存基本数据类型和引用数据类型集合只能存引用数据类型,如果要存基本数据类型,需要存对应的包装类 蓝色外框都是接口、红色外框都是具体实现类Collection集合概述创建Collection集合的对象代码1:add&remove 代码2:removeIf 代码3:清空集合中的元素 代码4:判断集合中是否存在指定元素 public static void main(String[] args) { Collection c =

树叶子的博客 454
上一篇: Java中时间日期类、JDK8时间日期类和异常
下一篇: Java中的集合
MemoryHer
博客等级 码龄5年 4粉丝 48原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值