集合总结(Java)
Collection
常用方法
package com.test01;import java.util.ArrayList;
import java.util.Collection;
/*添加元素---boolean add(E e);移除元素---boolean remove(Object c);判断元素是否存在---boolean contains(Object c);*/
public class S {public static void main(String[] args) {
// 创建Collectiom的对象Collection<String> s = new ArrayList<>();// 添加元素---boolean add(E e);s.add("Hello");s.add("world");// 重写toString()方法System.out.println(s);// 移除元素---boolean remove(Object c);s.remove("Hello");System.out.println(s);// 判断元素是否存在---boolean contains(Object c);System.out.println(s.contains("world"));// 判断集合是否为空 boolean isEmpty();System.out.println(s.isEmpty());// 返回长度---int size();System.out.println(s.size());// 清空元素---void claer();s.clear();}
}
遍历方法
package com.test01;import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;public class S {public static void main(String[] args) {
// 创建Collection的对象Collection<String> s = new ArrayList<>();s.add("1");s.add("2");s.add("3");
// 返回集合中元素的迭代器,通过集合中iterator()方法得到Iterator<String> it = s.iterator();// 通用遍历方法
// boolean hasNext()----如果集合中有更多的元素,则返回true
// E next()----返回迭代器中的下一个元素while(it.hasNext()){String a = it.next();System.out.println(a);}}
}
List
常用方法
遍历与Collection类似//可能会出现并发修改异常
多了一种遍历方法
快捷键为list.fori,回车
package com.test01;import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import java.util.List;public class S {public static void main(String[] args) {List<String> list = new ArrayList<>();list.add("1");list.add("2");list.add("3");// void add(int idnex,E c)----在指定索引添加元素list.add(1,"100");// 也是重写了toString()方法System.out.println(list);// E remove(int x)-----删除指定元素,并返回此元素System.out.println(list.remove(1));System.out.println(list);// E set(int x,E a)----修改指定元素,并返回此元素System.out.println(list.set(1,"200"));System.out.println(list);// E get(int x)----得到指定元素System.out.println(list.get(2));for (int i = 0; i < list.size(); i++) {System.out.println(list.get(i));}}
}
ListIterato:列表迭代器
package com.test01;import java.util.*;public class S {public static void main(String[] args) {List<String> list = new ArrayList<>();list.add("1");list.add("2");list.add("3");ListIterator<String> it = list.listIterator();// //正向,不常用
// while(it.hasNext()){
// System.out.println(it.next());
// }
// System.out.println("----------");
//
// //反向,不常用
// while(it.hasPrevious()){
// System.out.println(it.previous());
// }
//
// System.out.println("--------");//add()方法,重点掌握while(it.hasNext()){String s = it.next();if(s.equals("2")){it.add("10");}}System.out.println(list);}
}
增强for
public class S {public static void main(String[] args) {List<String> list = new ArrayList<>();list.add("1");list.add("2");list.add("4");for(String i : list){System.out.println(i);}}
}
ArrayList----底层是数组
LinkedList
LinkedList---底层是链表
public class dome {public static void main(String[] args) {LinkedList<String> linkedList = new LinkedList<>();//boolean addFirst(E e)在头加入元素,removeFirst()同理,getFirst()linkedList.addFirst("1");//在尾加入元素,removeLast()同理,getLast()linkedList.addLast("3");for(String it : linkedList){System.out.println(it);}}
}
HasSet
需要重写hascode()
底层是哈希表
3种遍历不能用普通循环
不保证存储和输出顺序一致
LinkedKist
/*存储和输出顺序一致保证唯一性*/
public class S {public static void main(String[] args) {LinkedHashSet<String> linkedHashSet = new LinkedHashSet<>();linkedHashSet.add("1");linkedHashSet.add("2");linkedHashSet.add("3");linkedHashSet.add("3");for(String it : linkedHashSet){System.out.println(it);}}
}
TreeSet
/*元素有序,这里的有序是按照一定的规则进行排序,取决于构造方法,默认根据自然元素进行排序不能用普通for元素具有唯一性*/
public class S {public static void main(String[] args) {TreeSet<Integer> integers = new TreeSet<>();integers.add(1);integers.add(2);integers.add(2);integers.add(4);for(Integer it : integers){System.out.println(it);}}
}
比较器Comparable的使用
public class Student implements Comparable<Student>{private String name;private int age;public Student(){}public Student(String name,int age){this.name=name;this.age=age;}public void show(){System.out.println(name+age+"岁");}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}@Overridepublic int compareTo(Student o) {
// return 0;不加入
// return 1;加入
// return -1;加前面int num = this.age-o.age;int num1 = num==0?this.name.compareTo(o.name):num;return num1;}
}
public class dome {public static void main(String[] args) {TreeSet<Student> treeSet = new TreeSet<>();
/* //可以用这个代替TreeSet<Student> treeSet = new TreeSet<>(new Comparator<Student>() {@Overridepublic int compare(Student o1, Student o2) {int num = o1.getAge()-o2.getAge();int num1 = num==0?o1.getName().compareTo(o2.getName()):num;return num1;}});
*/Student s1 = new Student("lihua",10);Student s2 = new Student("yaoming",30);Student s3 = new Student("hh",20);Student s4 = new Student("hh",20);treeSet.add(s1);treeSet.add(s2);treeSet.add(s3);treeSet.add(s4);for(Student it : treeSet){System.out.println(it.getName()+","+it.getAge());}}
}
相关文章:
集合总结(Java)
Collection 常用方法 package com.test01;import java.util.ArrayList; import java.util.Collection; /*添加元素---boolean add(E e);移除元素---boolean remove(Object c);判断元素是否存在---boolean contains(Object c);*/ public class S {public static void main(Str…...
【ONE·Linux || 网络基础(一)】
总言 主要内容:简述网络传输流程(TCP/IP五层模式概念认知,Mac地址、端口号、网络字节序等),演示socke套接字编程(UDP模式)。 文章目录 总言1、基础简述1.1、计算机网络背景1.2、认识网络协议&a…...
Day12力扣打卡
打卡记录 找出满足差值条件的下标 II(双指针维护最大最小) 链接 采用双指针保留间隔 indexDifference 进行遍历,求出慢指针对应一路遍历过来的最大值和最小值。 class Solution { public:vector<int> findIndices(vector<int>…...
SQL注入原理及思路(mysql)
数据库知识 mysql数据库 show database; #列出所有数据库 show tables; #列出所有表名 show columns from 表名; #列出表的列 select * from 表名 #查询数据库中某表的信息 select * from 表名 where 列xx #查询某表中符合列xx的信息 select * from 表名 order by 数字 #用于将…...
vue核心面试题汇总【查缺补漏】
给大家推荐一个实用面试题库 1、前端面试题库 (面试必备) 推荐:★★★★★ 地址:web前端面试题库 很喜欢‘万变不离其宗’这句话,希望在不断的思考和总结中找到Vue中的宗,来解答面试官抛出的…...
使用WebStorm创建和配置TypeScript项目
创建 这里我用的是WebStorm 2019.2.2版本 首先,创建一个空项目 File -> New -> Project->Empty Project生成配置文件 自动配置: 打开终端输入tsc --init,即可自动生成tsconfig.json文件 手动配置: 在项目根目录下新建一…...
vue源码分析(四)——vue 挂载($mount)的详细过程
文章目录 前言一、使用RuntimeCompiler解析$mount的原因二、$mount 解析的详细过程1.解析挂载的#app执行了vm.$mount2. 通过$mount方法执行以下文件的mount方法3. 执行util工具文件夹中的query方法4. 执行query方法后返回$mount方法判断el是否是body5. 判断!options.render&…...
真机环境配置教程
1.下载安装包 https://developers.google.com/android/images 2.刷机教程 Xposed精品连载 | 一篇文章彻底搞定安卓刷机与Root 3.配置root...
新电脑第一次重启后蓝屏
新电脑第一次重启后蓝屏 悲惨事故,远程参加插电第一次开机,按“FNShiftF10”启动cmd窗口输入oobe\bypassnro 回车重启跳过网络连接,设置一个用户名密码设置为空,不设密码确定,进入系统软件操作磁盘操作(磁盘…...
k8s statefulSet 学习笔记
文章目录 缩写: stsweb-sts.yaml创建sts扩缩容金丝雀发布OnDelete 删除时更新 缩写: sts 通过 kubectl api-resources 可以查到: NAMESHORTNAMESAPIVERSIONNAMESPACEDKINDstatefulsetsstsapps/v1trueStatefulSet web-sts.yaml apiVersion: v1 kind: Service met…...
gitlab 通过变量连接自建K8S
services:- docker:19.03.7-dind- golang:1.17.8-alpine3.15- docker:stable stages:- package- build and push docker image- deploy variables:KUBECONFIG: /etc/deploy/config build:tags:- k8simage: golang:1.17.8-alpine3.15stage: package# 只作用在main分支only:- mai…...
LuatOS-SOC接口文档(air780E)--mcu - 封装mcu一些特殊操作
常量 常量 类型 解释 mcu.UART number 外设类型-串口 mcu.I2C number 外设类型-I2C mcu.SPI number 外设类型-SPI mcu.PWM number 外设类型-PWM mcu.GPIO number 外设类型-GPIO mcu.I2S number 外设类型-I2S mcu.LCD number 外设类型-LCD mcu.CAM num…...
第14期 | GPTSecurity周报
GPTSecurity是一个涵盖了前沿学术研究和实践经验分享的社区,集成了生成预训练 Transformer(GPT)、人工智能生成内容(AIGC)以及大型语言模型(LLM)等安全领域应用的知识。在这里,您可以…...
【数据结构】优先级队列
⭐ 作者:小胡_不糊涂 🌱 作者主页:小胡_不糊涂的个人主页 📀 收录专栏:浅谈数据结构 💖 持续更文,关注博主少走弯路,谢谢大家支持 💖 PriorityQueue 1. 什么是优先级队列…...
c语言宏相关高级用法
outline all可变参数宏c语言内置函数1.__typeof__2.__builtin_choose_expr all 记录一些c语言宏相关的高级用法 可变参数宏 c语言内置函数 1.typeof 2.__builtin_choose_expr 语法格式 type __builtin_choose_expr (const_exp, exp1, exp2)解释 这个函数的第一个参数必须…...
新款模块上线实现SIP模块与扩拨电话之间打点与喊话功能 IP矿用电话模块SV-2800VP
新款模块上线实现SIP模块与扩拨电话之间打点与喊话功能 IP矿用电话模块SV-2800VP 一、简介 SV-2800VP系列模块是我司设计研发的一款用于井下的矿用IP音频传输模块,可用此模块打造一套低延迟、高效率、高灵活和多扩展的IP矿用广播对讲系统,亦可对传统煤…...
前端开发---在vue项目中使用openLayers
前端开发之在vue项目中使用openLayers 前言效果图在vue中渲染地图安装ol插件1、调用插件2、 初始话地图3、地图点击事件4、重置坐标5、通过坐标改变视图6、保存坐标点 vue中使用的源码 前言 本篇文章主要讲解openLayers的初步使用,包括渲染地图、获取点坐标、标记点…...
C语言之结构体和共用体详解
目录 结构体 结构体的定义和使用 结构体数组的使用 结构体指针的使用 结构体大小的计算 共用体 共用体的定义和使用 typedef用法详解 enum枚举类型 结构体 结构体的定义和使用 C语言的结构体(Struct)是一种自定义的数据类型,它允许…...
iOS插件
把平时看到或项目用到的一些插件进行整理,文章后面分享一些不错的实例,若你有其它的插件欢迎分享,不断的进行更新; 一:第三方插件 1:基于响应式编程思想的oc 地址:https://github.com/ReactiveCocoa/Rea…...
Maven第四章:配置文件详解
Maven第四章:配置文件详解 前言 本章重点知识:掌握setting.xml配置文件以及pom.xml配置文件 setting.xml配置文件 setting.xml文件用于配置Maven的运行环境,包括本地仓库的位置、镜像仓库的配置、认证信息等。以下是setting.xml文件的详细说明: 文件位置: 全局配置文件:…...
label-studio的使用教程(导入本地路径)
文章目录 1. 准备环境2. 脚本启动2.1 Windows2.2 Linux 3. 安装label-studio机器学习后端3.1 pip安装(推荐)3.2 GitHub仓库安装 4. 后端配置4.1 yolo环境4.2 引入后端模型4.3 修改脚本4.4 启动后端 5. 标注工程5.1 创建工程5.2 配置图片路径5.3 配置工程类型标签5.4 配置模型5.…...
阿里云ACP云计算备考笔记 (5)——弹性伸缩
目录 第一章 概述 第二章 弹性伸缩简介 1、弹性伸缩 2、垂直伸缩 3、优势 4、应用场景 ① 无规律的业务量波动 ② 有规律的业务量波动 ③ 无明显业务量波动 ④ 混合型业务 ⑤ 消息通知 ⑥ 生命周期挂钩 ⑦ 自定义方式 ⑧ 滚的升级 5、使用限制 第三章 主要定义 …...
uniapp微信小程序视频实时流+pc端预览方案
方案类型技术实现是否免费优点缺点适用场景延迟范围开发复杂度WebSocket图片帧定时拍照Base64传输✅ 完全免费无需服务器 纯前端实现高延迟高流量 帧率极低个人demo测试 超低频监控500ms-2s⭐⭐RTMP推流TRTC/即构SDK推流❌ 付费方案 (部分有免费额度&#x…...
VM虚拟机网络配置(ubuntu24桥接模式):配置静态IP
编辑-虚拟网络编辑器-更改设置 选择桥接模式,然后找到相应的网卡(可以查看自己本机的网络连接) windows连接的网络点击查看属性 编辑虚拟机设置更改网络配置,选择刚才配置的桥接模式 静态ip设置: 我用的ubuntu24桌…...
JavaScript 数据类型详解
JavaScript 数据类型详解 JavaScript 数据类型分为 原始类型(Primitive) 和 对象类型(Object) 两大类,共 8 种(ES11): 一、原始类型(7种) 1. undefined 定…...
基于Java+VUE+MariaDB实现(Web)仿小米商城
仿小米商城 环境安装 nodejs maven JDK11 运行 mvn clean install -DskipTestscd adminmvn spring-boot:runcd ../webmvn spring-boot:runcd ../xiaomi-store-admin-vuenpm installnpm run servecd ../xiaomi-store-vuenpm installnpm run serve 注意:运行前…...
日常一水C
多态 言简意赅:就是一个对象面对同一事件时做出的不同反应 而之前的继承中说过,当子类和父类的函数名相同时,会隐藏父类的同名函数转而调用子类的同名函数,如果要调用父类的同名函数,那么就需要对父类进行引用&#…...
【Linux】Linux安装并配置RabbitMQ
目录 1. 安装 Erlang 2. 安装 RabbitMQ 2.1.添加 RabbitMQ 仓库 2.2.安装 RabbitMQ 3.配置 3.1.启动和管理服务 4. 访问管理界面 5.安装问题 6.修改密码 7.修改端口 7.1.找到文件 7.2.修改文件 1. 安装 Erlang 由于 RabbitMQ 是用 Erlang 编写的,需要先安…...
yaml读取写入常见错误 (‘cannot represent an object‘, 117)
错误一:yaml.representer.RepresenterError: (‘cannot represent an object’, 117) 出现这个问题一直没找到原因,后面把yaml.safe_dump直接替换成yaml.dump,确实能保存,但出现乱码: 放弃yaml.dump,又切…...
Vue3 PC端 UI组件库我更推荐Naive UI
一、Vue3生态现状与UI库选择的重要性 随着Vue3的稳定发布和Composition API的广泛采用,前端开发者面临着UI组件库的重新选择。一个好的UI库不仅能提升开发效率,还能确保项目的长期可维护性。本文将对比三大主流Vue3 UI库(Naive UI、Element …...
