常用集合体系 及如何给类进行排序?

黑马程序员-JAVA笔记5 常用API1 阅读详情

Collection接口存储一组不唯一,无序的对象

List接口存储一组不唯一,有序(插入顺序)的对象

List 的实现类 ArrayList 和 LinkedList

ArrayList常用方法

方法名

说明

boolean add(Object o)

在列表的末尾顺序添加元素,起始索引位置从0开始

void add(int index,Object o)

在指定的索引位置添加元素。索引位置必须介于0和列表中元素个数之间

int size()

返回列表中的元素个数

Object get(int index)

返回指定索引位置处的元素。取出的元素是Object类型,使用前需要进行强制类型转换

boolean contains(Object o)

判断列表中是否存在指定元素

boolean remove(Object o)

从列表中删除元素

Object remove(int index)

从列表中删除指定位置元素,起始索引位置从0开始

LinkedList常用方法

方法名

说明

void  addFirst(Object o)

在列表的首部添加元素

void  addLast(Object o)

在列表的末尾添加元素

Object  getFirst()

返回列表中的第一个元素

Object  getLast()

返回列表中的最后一个元素

Object  removeFirst()

删除并返回列表中的第一个元素

Object  removeLast()

删除并返回列表中的最后一个元素

Set接口存储一组唯一,无序的对象

HashSet是Set接口常用的实现类 TreeSet是Set接口常用的实现类

Set接口不存在get()方法

方法1:通过迭代器Iterator实现遍历

获取Iterator :Collection 接口的iterator()方法

Iterator的方法

boolean hasNext(): 判断是否存在另一个可访问的元素

Object

next(): 返回要访问的下一个元素

方法2:增强型for循环

Map接口存储一组键值对象,提供key到value的映射

Map接口常用方法

方法名

说明

Object put(Object key, Object val)

以“键-值”对的方式进行存储

Object get(Object key)

根据键返回相关联的值,如果不存在指定的键,返回null

Object remove(Object key)

删除由指定的键映射的“键-值对”

int size()

返回元素个数

Set keySet()

返回键的集合

Collection values()

返回值的集合

boolean containsKey(Object key)

如果存在由指定的键映射的“键-值对”,返回true

泛型集合

泛型集合可以约束集合内的元素类型

典型泛型集合ArrayList、HashMap

表示该泛型集合中的元素类型

泛型集合中的数据不再转换为Object

除了指定了集合中的元素类型外,泛型集合和之前学习的集合的用法完全一样

Collections类常用方法

Collections和Collection不同,前者是集合的操作类,后者是集合接口

Collections提供的常用静态方法

sort():排序

binarySearch():查找

max()\min():查找最大\最小值

    public static void main(String[] args) {
        //理解 TreeSet的使用
        //无重复 无索引 排序
        Set<Integer> set =new TreeSet<>();
        set.add(12);
        set.add(1);
        set.add(123);
        set.add(132);
        set.add(142);
        System.out.println(set);

        Set<String> set1 =new TreeSet<>();
        set1.add("avc");
        set1.add("zvc");
        set1.add("tvc");
        set1.add("C");
        set1.add("D");
        set1.add("黑马");
  
        System.out.println(set1);
           //需要自定义比较规则 按价格排序
//        Set<Apple> set2 =new TreeSet<>(new Comparator<Apple>() {
//            @Override
//            public int compare(Apple o1, Apple o2) {
//              //  return o1.getWeight()- o2.getWeight();//升序
//              //  return o2.getWeight()- o1.getWeight();//降序
//               // return  Double.compare(o1.getPrice(),o2.getPrice());//升序
//                return  Double.compare(o2.getPrice(),o1.getPrice());//降序
//            }
//        });
        //简化lambda表达式
        Set<Apple> set2 =new TreeSet<>(( o1, o2)-> Double.compare(o2.getPrice(),o1.getPrice()));

        set2.add(new Apple("红苹果","红色",9.9,500));
        set2.add(new Apple("绿苹果","绿色",99.9,400));
        set2.add(new Apple("青苹果","青色",9.8,300));
        set2.add(new Apple("紫苹果","紫色",9.6,500));
        System.out.println(set2);
    }

 

DaVinci Configurator BswM模块配置 BswM是AUTOSAR(Automotive Open System Architecture)系统架构中的模块之一,它是基础软件模块(BSW)之一。BswM全称为Basic Software Module Manager(基础软件模块管理器),它负责管理和协调其他BSW模块的行为和交互,以实现整个系统的功能。BswM可以被看作是一个状态机,通过监控系统的状态和事件触发,来控制其他BSW模块的运行状态和互相配合,以达到整个系统的预期行为。 阅读详情

相关推荐

uniapp: err = err.replace(this._UNI_INPUT_DIR_REG, ‘UNI_TypeError: err.replace is not a function问题修复

问题:uniapp的依赖包出现了问题,需要升级解决办法:升级uniapp依赖包,下载"semver"和”@dcloudio/uni-i18n“两个包,本地锁定postcss为7版本,就解决了。

py_boy的博客 1453

java中对类进行排序

java类排序(蓝桥杯必学) 我们知道c++中有时候需要对结构体进行一些排序 可以直接调用sort(数组,排序方法); 而java中有时候需要对类进行指定的排序~ 前导知识: 数组:(不论是int,char,String类型的数组)都调用 Arrays . sort() 排序即可 结构体: 首先要将它存放在集合中,在对其进行排序,调用 Collections . sort()排序,此时需要重新构造排序方法(但是例如TreeMap , TreeSet , PriorityQueue,等自带排序的集合,需

qq_51070408的博客 2581

Dr_can Kalman Filter学习笔记(一)

本文是在b站Dr_can的卡尔曼滤波课程学习过程中的学习笔记

苏大侠的博客 1054

类模板排序公共类设计

Person.hpp #pragma once #include <string> template <class T> class Person { friend bool operator <(const Person& left, const Person& right) { return...

weixin_30257433的博客 213

Win10安装Nek5000

1 安装wsl 2 2 安装Nek5000 3 安装依赖项 4 安装openmpi 5 配置Nek5000 6 编译Nek5000 7 运行Nek5000算例 8 安装paraview并查看结果

weixin_43176703的博客 3451

学习笔记|多组率卡方检验和Fisher确切法|个案加权|规范表达|《小白爱上SPSS》课程:SPSS第十六讲 | 多组率卡方检验和Fisher确切法

学习笔记|多组率卡方检验和Fisher确切法|个案加权|规范表达|《小白爱上SPSS》课程:SPSS第十六讲 | 多组率卡方检验和Fisher确切法

Medlar_CN的博客 2965

sort对类对象进行排序

C++编程中常需要对对象进行排序,有可能还要根据对象中的多个成员的值进行排序,C++中提供了sort泛型算法便于利用。需要注意的是,sort排序函数不是稳定的,稳定的排序可以用table_sort。稳定是指函数可保证相等元素的原本相对次序在排序后保持不变。sort原型template &lt;class RandomAccessIterator&gt; void sort (RandomA...

Alatebloomer的博客 8083

双有源桥变换器(DAB)TPS控制:从理论建模到Simulink/PSIM仿真实践

本文深入探讨了双有源桥变换器(DAB)的三重移相(TPS)控制技术,从理论建模到仿真实现。文章详细分析了TPS相比SPS和DPS的优势,阐述了其12种工况的划分逻辑与电流应力最优调制策略,并提供了在Simulink和PSIM平台搭建仿真模型的详细步骤与实战经验,帮助工程师掌握这一高效控制方法。

white的博客 585

java类排序_java中如何实现对类的对象进行排序

我们需要对类按照类中的某一个属性(或者多个属性)来对类的对象进行排序,有两种方法可以实现,一种方法是类实现Comparable接口,然后调用Collections.sort(List)方法进行排序,另一种方法是类不实现Comparable接口,而在排序时使用Collections.sort(List, Comparator)方法,并实现其中的Comparator接口。先创建一个简单的学生类:pub...

weixin_42503813的博客 1187

用 SAP HANA SDA 访问 PostgreSQL:从可行性到落地实践的完整指引

摘要:SAP HANA可通过SDA/SDI技术访问PostgreSQL数据库,支持数据虚拟化和实时复制。主要实现路径包括:1)使用Camel JDBC适配器创建虚拟表进行联邦查询;2)利用PostgreSQL Log Reader适配器实现变更数据捕获(CDC)。实施时需配置Data Provisioning Agent,注意权限和网络要求。官方文档指出,通过SDI+DP Agent的方式比直接SDA连接更稳定可靠。虚拟化查询时,HANA会自动将SQL下推到PostgreSQL执行,优化性能。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 257

OpenHarmony电源管理驱动架构剖析:HDI框架下的低功耗实现

鸿蒙电源管理驱动模块是OpenHarmony操作系统中负责设备电源状态管理的核心组件。该模块基于HDI(Hardware Device Interface)框架实现,提供了完整的电源管理功能,包括系统休眠/唤醒、运行锁管理、休眠模式控制等核心功能。public:// 主要接口函数// 运行锁管理private:// 内部辅助函数// 成员变量public:// 运行锁控制接口// 回调管理private:// 内部辅助函数。

m0_67505153的博客 209

java类如何按照某一属性排序

1. 首先Person类,实现可按照属性name或者age排序,Personl类如下: class Person{ public String name; public int age; public Person(String name, int age) { super(); this.name

积硅步以致千里 1万+

从 CDS 接口到 ABAP 运行时,深入理解 SAP RAP Custom Entity

CDS Custom Entity 是一种非 SQL、瞬态的 CDS 实体,不依赖 HANA SQL 读取数据,而是通过 ABAP 类实现查询逻辑(如 RFC、OData、BAPI 等)。它在 CDS 层定义数据契约(字段、键、关联、注解),由 @ObjectModel.query.implementedBy 指向实现 IF_RAP_QUERY_PROVIDER~SELECT 的类,真正执行数据获取。适用于无法用 SQL 表达的数据源,如远程系统或 API。其核心是“接口 + 实现”模式,运行时由 RAP

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 172

Map集合体系大介绍

Map的常用API HashMap特点,LinkedHashMap特点,TreeMap特点

偷偷学习又被发现了 633

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Java核心技术-------->Collection集合体系(一)

c.add("赵敏");c.add("赵三");c.add("李四");c.add("王五");//使用迭代器遍历集合//1、从结合对象中获取迭代器对象多取就会报错c.add("赵敏");c.add("赵三");c.add("李四");c.add("王五");//使用迭代器遍历集合//2、使用循环结合迭代器遍历集合//简化版需求:展示多部电影信息分析:每部电影都是一个对象,多部电影要使用集合装起来。

weixin_71942139的博客 1168

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Java集合体系 —— Set篇

本文深入解析Java集合框架中的Set接口及其三大实现类。Set接口作为Collection的子接口,核心特性是不重复、无索引,与List接口形成鲜明对比。HashSet作为最常用实现,基于HashMap实现高效去重(O(1)时间复杂度),适合纯去重场景;LinkedHashSet在HashSet基础上通过双向链表维护插入顺序,适合需要保留元素添加顺序的场景;TreeSet基于红黑树实现自动排序,支持自然排序或自定义比较器。文章从底层结构、源码实现到性能特点进行系统分析,为开发者选择合适Set实现提供理论依

zz072320的博客 1080

IDEA的使用指南

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

JAVA基础——集合体系(常用接口、类、方法)

总结了集合体系(常用接口、类、方法)

RamProg的博客 642

Map集合体系、集合的嵌套

【代码】Map集合体系、集合的嵌套。

weixin_53622554的博客 1833

Java集合-Collection集合体系Set分支及Collections工具类

文章目录一、COllection集合体系-Set分支1. HashSet集合2. LinkedHashSet集合3. TreeSet集合二、Collections工具类1. COllections类概述 一、COllection集合体系-Set分支 1. HashSet集合 Set集合特点 存取顺序不一致,元素唯一 HashSet 底层数据结构是哈希表,是由数组和链表构成的 线程不安全,...

qq_44495081的博客 434

Scala 可变集合体系、不可变集合体系 详解

文章目录Scala数据结构的特点1. Scala的集合基本介绍2. 可变集合和不可变集合举例不可变集合继承层次——览图可变集合继承层次——览图数组-定长数组(声明泛型)1. 第一种方式定义数组2. 第二种方式定义数组数组-变长数组(声明泛型)1. 变长数组声明访问2. 定长数组与变长数组的转换3. 多维数组的定义和使用 Scala数据结构的特点 1. Scala的集合基本介绍 Scala 同时支持不可变集合和可变集合,不可变集合可以安全的并发访问。 俩个主要的包: scala.collection.i

shuyv的博客 3432

Map集合体系(HashMap,LinkedHashMap,TreeMap)

格式:{key1=value1, key2=value2, key3=value3, ...}Map系列集合的特点都是由键决定的,值只是一个附属品,值不做要求2.实现类有哪些?,各自有什么特点?HashMap:无序、不重复、无索引;(用的最多)LinkedHashMap:有序、不重复、无索引TreeMap:按照大小默认升序排序、不重复、无索引3.Map的常用方法Map是双列集合的祖宗,它的功能是全部双列集合都可以继承过来使用的。

qq_1424674116的博客 1743

java集合体系(List Set Queue Map)

java 集合体系下分为两大类 collection 和 map collection 下有三大接口 list set queue List 下的实现类有 ArrayList 数组结构,实现了RandomAccess随机访问, 使用上注意扩容和数据迁移 LinkedList 双链表结构,实现了Deque接口 Vector 线程安全的集合 Stack 继承Vector, 栈(FILO) CopyOnWriteArrayList 线程安全的集合 Set 下的实现类有 HashSet 基于key的equals方法

Dangerous 261

Java集合体系 —— Map篇

本文深入解析Java集合框架中三大Map实现类的核心特性与适用场景。HashMap基于哈希表实现,提供O(1)时间复杂度的高效查找,但不保证顺序;LinkedHashMap在HashMap基础上增加双向链表维护插入/访问顺序,适合需要保持顺序的场景;TreeMap采用红黑树结构,支持键的自然排序或定制排序,适合需要有序存储和范围查询的场景。文章详细对比了三者的底层结构、性能特点和适用场景:HashMap是默认首选,适合纯键值对查找;LinkedHashMap平衡性能与顺序需求;TreeMap则专注于有序存储

zz072320的博客 1327

【Java进阶秘籍】探究集合体系、通用遍历方式以及List集合的奥秘

Java作为一门成熟的技术语言,拥有强大的集合框架,使得数据处理变得灵活而强大。本文将深入探究Java集合体系、通用遍历方式,以及List集合中的ArrayList和LinkedList数据结构,帮助读者掌握Java集合的高级使用技巧。

qq_44103359的博客 363

**Map集合体系**

本文介绍了Java中Map集合体系的核心知识点:1)Map特点:存储键值对,键唯一无序,值可重复;2)常用方法:put(添加/覆盖)、remove(删除)、get(获取)等;3)主要实现类:HashMap(常用,线程不安全)、Hashtable(线程安全)、TreeMap(排序)等;4)三种遍历方式:键遍历(keySet)、值遍历(values)和键值对遍历(entrySet)。重点强调了HashMap的使用场景和注意事项,以及如何正确处理自定义对象作为键的情况。这些内容是Java集合框架中的基础核心知识.

2401_88409324的博客 532

java的集合体系_Java集合体系简介

I. 第一部分:常见数据结构首先简单说下数据结构.什么是数据结构?数据结构就是组织数据的方式.常见的数据结构:栈,堆,树,图,数组,队列,链表.这里主要介绍与java集合体系相关的栈、数组和链表.栈特点:压栈弹栈,先进后出.如:手枪弹夹装弹过程,最先压入的子弹在最下面;而在射击时,最先弹入枪膛的是最上面的子弹,即最后压入弹夹的子弹.队列特点:先进先出.如:子弹射出的过程,先进入枪膛的子弹最先被射出...

weixin_35779093的博客 438
上一篇: Java对内存的划分分为几类?堆和栈的区别?定义一个圆类型?提供显示圆周长功能的方法提供显示圆面积的方法
下一篇: 使用键盘输入10个整数存储到数组中,并使用冒泡排序对数组进行降序排序。
有你是我的福气Love
博客等级 码龄4年 40粉丝 35原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值