当前位置: 首页 > news >正文

韩顺平0基础学java——第24天

p484-508

System类

常见方法

System.arrycopy(src,0,dest,1,2);

表示从scr的第0个位置拷贝2个,放到目标数组索引为1的地方。

BigInteger和BigDecimal类

保存大整数和高精度浮点数

BigInteger b = new BigInteger(“12332134546465464564645465489”);

在对BigInteger和BD进行加减乘除的时候,有特定的方法。不能直接+-*/

应该是字符串在模拟运算

加 b.add(b2)

减b.subtract(b2)

乘b.multiply(b2)

除b.divide(b2)有异常,可能会无限循环,解决方法:在调用divide方法时,指定精度即可。

b1.divide(b2,BigDecimal.ROUND_CEILING)意为:如有无限循环,那就保留分子的精度。

日期类

第一代日期类

package com.day24;import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;/*** @author 马大可* @version 1.0*/
public class Date_ {public static void main(String[] args) throws ParseException {Date d1 = new Date();System.out.println(d1);SimpleDateFormat d2 = new SimpleDateFormat("yyyy年MM月dd日 hh:mm:ss E");String f = d2.format(d1);System.out.println(f);//可以把一个格式化的字符串转成对应的类String s = "2024年04月16日 02:04:34 星期日";Date d3 = d2.parse(s);System.out.println(d2.format(d3));}
}
class AA{}

第二代日期类

Calendar是抽象的,构造器也锁了,用getInstance来创建

public static void main(String[] args) {Calendar c = Calendar.getInstance();System.out.println(c);System.out.println(c.get(Calendar.YEAR));
}

第三代日期类

记不住。。。根本记不住,这几集好困。。。





集合

集合的好处:

1.可以动态保存任意多个对象,使用比较方便。

2.提供了一些列方便的操作对象的方法:add,remove,set,get等

3.使用集合添加、删除元素的代码更简洁了。

集合的框架体系

1集合主要是两组:单列集合,双列集合

2collection接口主要有两个重要的子接口LIst Set,它们实现子类都是单列集合

3.Map接口的实现子类是双列集合,存放的K-V

Collection接口

Collection接口(父)常用方法

public class Jihe {public static void main(String[] args) {//向上转型?List list = new ArrayList();//添加元素list.add(10);list.add("aaa");list.add(true);//输出System.out.println(list);//是否包含某个元素?System.out.println(list.contains(10));//列表的大小System.out.println(list.size());ArrayList l2 = new ArrayList();l2.add("嘟嘟嘟");l2.add(555);//批量添加list.addAll(l2);System.out.println(list);//批量查找System.out.println(list.containsAll(l2));//批量删除list.removeAll(l2);}
}

迭代器遍历

Collection接口遍历元素的方式:迭代器

1.Iterator的对象就是迭代器,主要用于遍历Collection集合中的元素。

2.所有实现了Collection接口的集合类都有一个iterator()方法,用以返回一个实现了Iterator接口(父接口)的对象,即可以返回一个迭代器。

3.Iterator的结构:

(指针?)

4.Iterator仅仅用于遍历集合,Iterator本身并不存放对象

Iterator接口的方法

package com.day24.jihe;import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;public class Itr {public static void main(String[] args) {Collection col = new ArrayList();col.add(new Book("马大可",23));col.add(new Book("马er可",423));col.add(new Book("马3",232));//现在想遍历这个col集合
        //1.先得到col对应的迭代器Iterator iterator = col.iterator();while(iterator.hasNext()){//判断是否还有数据,指针移动...Object ne = iterator.next();//返回下一个元素,类型是ObjectSystem.out.println(ne);}//快捷键:快速生成while循环:itit
        //显示所有快捷键的快捷键:ctrl+J//需要再次遍历,那就要重置迭代器!iterator = col.iterator();while (iterator.hasNext()) {Object next =  iterator.next();System.out.println(next);}}
}
class Book{private String name;private int price;public Book(String name, int price) {this.name = name;this.price = price;}@Overridepublic String toString() {return "Book{" +"name='" + name + '\'' +", price=" + price +'}';}
}

 for增强循环

for(类名 局部变量:遍历对象){循环体}

public class zengqiangfor {public static void main(String[] args) {Collection col = new ArrayList();col.add(new Book("马大可",23));col.add(new Book("马er可",423));col.add(new Book("马3",232)); for(Object book:col){System.out.println(book);//}}
}

List接口(儿子接口)特有方法

1.List集合类中,元素有序(即添加顺序和取出顺序一致)、且可以重复。 

2.List集合中的每个元素都有其对应的顺序索引,即支持索引(从0开始)。

3.List容器中的元素都对应一个整数型的序号记载其在容器中的位置。可以根据序号存取容器中的元素。

4.JDK API中List接口的实现类有很多,常用的是ArrayList,LinkedList和Vector。前面那图要记住啊

5.方法真的很多(心儿都碎了): 

package com.day24.jihe;import java.util.ArrayList;
import java.util.Collection;
import java.util.List;public class zengqiangfor {public static void main(String[] args) {List list = new ArrayList();List list2 = new ArrayList();list.add("jack");list.add("rwak");list.add("asd");list.add("ddddd");list2.add("mdk");list2.add("mdk");System.out.println(list);//在索引为1的位置插入一个对象list.add(1,"插入一号位");System.out.println(list);//批量添加list.addAll(2,list2);System.out.println(list);//查找obj在list中首次出现的位置System.out.println(list.indexOf("mdk"));//查找最后出现的位置System.out.println(list.lastIndexOf("mdk"));//移除制定位置的的元素,并返回此元素list.remove(0);System.out.println(list);//设置指定index的元素为ele,相当于是替换.假如这个索引不存在,会抛出异常list.set(1,"马大可一号");System.out.println(list);//返回从formIndex到toIndex位置的子集合。List l2 = list.subList(0,2);//是[0,2),实际上返回0和1位置的元素System.out.println(l2);}
}

List的三种遍历方式

只要是实现了List接口的子类,它们的遍历方式是完全一样的,我可以

List list = new ArrayList();
List list1 = new LinkedList();
List list2 = new Vector();

1.迭代器

2.增强for

3.普通for

for (int g =0;g<list.size();g++){System.out.println(list.get(g));
}

很妙的一个排序

public static void sort(List list){int size = list.size();int t= 0;for (int i = 0; i < size; i++) {for(int j = 0;j<size-1-i;j++){//取出对象bookBook book1 = (Book)list.get(j);Book book2 = (Book)list.get(j+1);if(book1.price>book2.price){list.set(j,book2);list.set(j+1,book1);}}}
}

相关文章:

韩顺平0基础学java——第24天

p484-508 System类 常见方法 System.arrycopy&#xff08;src&#xff0c;0&#xff0c;dest&#xff0c;1,2&#xff09;&#xff1b; 表示从scr的第0个位置拷贝2个&#xff0c;放到目标数组索引为1的地方。 BigInteger和BigDecimal类 保存大整数和高精度浮点数 BigInte…...

leecode N皇后

深度优先遍历&#xff0c;然后回溯 思考得到的技巧&#xff1a; 1.先思考怎么用学过的数据结构解题 2.回溯不只需要知道最后一步&#xff0c;还需要知道之前所走的每一步 3. 棋盘的生成&#xff0c;.join([]),可以变列表为字符串 看题解得到的技巧&#xff1a; 1.妙啊&#xf…...

2024050802-重学 Java 设计模式《实战模板模式》

重学 Java 设计模式&#xff1a;实战模版模式「模拟爬虫各类电商商品&#xff0c;生成营销推广海报场景」 一、前言 黎明前的坚守&#xff0c;的住吗&#xff1f; 有人举过这样一个例子&#xff0c;先给你张北大的录取通知书&#xff0c;但要求你每天5点起床&#xff0c;12点…...

UNIAPP-ADB无线调试

ADB下载 SDK 平台工具版本说明 | Android Studio | Android Developers (google.cn) 环境变量配置 ADB版本查看 adb version 手机使用数据线连接到电脑 手机需要授权adb调试(开发人员选项里面) CMD输入命令 adb tcpip 5555 到了这一步你手机已经启动了adb服务了&…...

【stm32-新建工程】

stm32-新建工程 ■ 下载相关STM32Cube官方固件包&#xff08;F1&#xff0c;F4&#xff0c;F7&#xff0c;H7&#xff09;■ 1. ST官方搜索STM32Cube■ 2. 搜索 STM32Cube■ 3. 点击获取软件■ 4. 选择对应的版本下载■ 5. 输入账号信息■ 6. 出现下载弹框&#xff0c;等待下载…...

写点什么吧,作为STM32系列的开篇……

自从本科毕业后&#xff0c;就再也没碰过单片机…… 自从研究生毕业后&#xff0c;就再也没碰过硬件…… 自以为以前单片机玩的熟得很&#xff0c;特别是ATMEGA系列的AVR单片机&#xff0c;由于老师的推荐&#xff0c;本科时花了好多精力在这个系列单片机上面…… 本科时STM…...

代码随想录算法训练营第十天| 232.用栈实现队列|225. 用队列实现栈|20. 有效的括号|1047. 删除字符串中的所有相邻重复项

232.用栈实现队列 文档讲解&#xff1a;代码随想录 视频讲解&#xff1a;栈的基本操作&#xff01; | LeetCode&#xff1a;232.用栈实现队列_哔哩哔哩_bilibili 知道要用两个栈实现&#xff0c;具体咋做忘了。队列的特性是先进先出&#xff0c;栈是先进后出&#xff0c;入队操…...

Pulsar 社区周报 | No.2024-06-07 | Apache Pulsar 新分支 3.3 版本发布

“ 各位热爱 Pulsar 的小伙伴们&#xff0c;Pulsar 社区周报更新啦&#xff01;这里将记录 Pulsar 社区每周的重要更新&#xff0c;每周发布。 ” 本期主题&#xff1a;Apache Pulsar 新分支 3.3 版本发布 Apache Pulsar 新分支 3.3 版本发布&#xff1a;Apache Pulsar 3.3.0[1…...

Go源码--sync库(3):sync.Pool(2)

回收 回收其实就是将 pool.local 置为空 可以让垃圾回收器回收 我们来看下 源码 func init() {// 将 poolCleanup 注册到 gc开始前的准备工作处理器中在 STW时执行runtime_registerPoolCleanup(poolCleanup) }这里注册了清理程序到GC前准备工作 也就是发生GC前需要执行这段代…...

Go如何在本地引用以及发布并引用自定义工具包

如何引用本地自定义工具包 我们首先要准备两个项目&#xff0c;分别为需要引入的工具包和当前项目。 myutils、myproject1. myutils为我们的项目1-工具包 package mypakgeimport "strings"func IsContains(s string) bool {if strings.Contains(s, "a")…...

使用了代理IP怎么还会被封?代理IP到底有没有效果

代理IP作为一种网络工具&#xff0c;被广泛应用于各种场景&#xff0c;例如网络爬虫、海外购物、规避地区限制等。然而&#xff0c;很多用户在使用代理IP的过程中却发现自己的账号被封禁&#xff0c;这让他们不禁产生疑问&#xff1a;使用了代理IP怎么还会被封&#xff1f;代理…...

在WSL2的Ubuntu中安装和使用Docker/Podman

在WSL2的Ubuntu中安装和使用Docker/Podman 0. 目的 当网络环境良好&#xff08;例如在公司&#xff0c;能直接访问Google等&#xff09;时&#xff0c; Docker/Podman 安装和使用不是问题。 当网络环境不佳&#xff08;例如在家里&#xff09;&#xff0c;要把 WSL2 的 Ubun…...

【WEEK16】Learning Objectives and Summaries【Spring Boot】【English Version】

Learning Objectives: Learning SpringBoot Learning Content: Reference video tutorials【狂神说Java】SpringBoot最新教程IDEA版通俗易懂Dubbo and Zookeeper Integration Learning time and outputs: Week16 TUE~FRI 2024.6.11【WEEK16】 【DAY2】Dubbo和Zookeeper集成第…...

AI大模型会让搜索引擎成为历史吗?

AI大模型会让搜索引擎成为历史吗&#xff1f; 随着人工智能技术的不断发展&#xff0c;AI大模型已经在许多领域展现出了强大的能力。从自然语言处理到图像识别&#xff0c;AI大模型的应用越来越广泛。在这种背景下&#xff0c;有人开始提出一个问题&#xff1a;AI大模型是否可…...

SpringSecurity6从入门到实战之SpringSecurity6自定义认证规则

SpringSecurity6从入门到实战之SpringSecurity6自定义认证规则 Spring Security 中默认所有的 http 请求都需要先认证通过后&#xff0c;才能访问。那么&#xff0c; 如何指定不需要认证就可以直接访问的资源呢&#xff1f;比如 用户的登录页面和注册页面&#xff0c;都是不需要…...

Java IO:byte[]、char[]、String三种对象的转换

String与byte[]对象进行转换时应指定编码格式&#xff0c;否则有潜在的乱码问题。byte[] b s.getBytes(“utf-8”); String s new String(b,“utf-8”); Java的IO库提供了专门的管道来对这3个对象进行读写&#xff0c;他们是StringReader/Writer CharArrayReader/Writer Byt…...

Elasticsearch:简化数据流的数据生命周期管理

作者&#xff1a;来自 Elastic Andrei Dan 今天&#xff0c;我们将探索 Elasticsearch 针对数据流的新数据管理系统&#xff1a;数据流生命周期&#xff0c;从版本 8.14 开始提供。凭借其简单而强大的执行模型&#xff0c;数据流生命周期可让n 你专注于数据生命周期的业务相关方…...

Verilog综合出来的图

Verilog写代码时需要清楚自己综合出来的是组合逻辑、锁存器还是寄存器。 甚至&#xff0c;有时写的代码有误&#xff0c;vivado不能识别出来&#xff0c;这时打开综合后的schematic简单查看一下是否综合出想要的结果。 比如&#xff1a;误将一个always模块重复一遍&#xff0c;…...

KT-H6测距模块标品,测距范围1500m,demo报价1000RMB,批量报价500RMB

激光测距传感器是一种用于测量距离的模块,通常由传感器和相关电子设备组成,测距模块可以集成到各种设备和系统中,以实现准确的测距和定位功能。KT-H6系列激光测距模块,为自主研发,激光波长905nm的激光器,专为热成像、夜视仪、无人机、安防、瞄具等产品定身打造,其优点是…...

C数据结构:排序

目录 冒泡排序 选择排序 堆排序 插入排序 希尔排序 快速排序 hoare版本 挖坑法 前后指针法 快速排序优化 三数取中法 小区间优化 快速排序非递归 栈版本 队列版本 归并排序 归并排序非递归 ​编辑 计数排序 各排序时间、空间、稳定汇总 冒泡排序 void Bub…...

python/java环境配置

环境变量放一起 python&#xff1a; 1.首先下载Python Python下载地址&#xff1a;Download Python | Python.org downloads ---windows -- 64 2.安装Python 下面两个&#xff0c;然后自定义&#xff0c;全选 可以把前4个选上 3.环境配置 1&#xff09;搜高级系统设置 2…...

Linux简单的操作

ls ls 查看当前目录 ll 查看详细内容 ls -a 查看所有的内容 ls --help 查看方法文档 pwd pwd 查看当前路径 cd cd 转路径 cd .. 转上一级路径 cd 名 转换路径 …...

Frozen-Flask :将 Flask 应用“冻结”为静态文件

Frozen-Flask 是一个用于将 Flask 应用“冻结”为静态文件的 Python 扩展。它的核心用途是&#xff1a;将一个 Flask Web 应用生成成纯静态 HTML 文件&#xff0c;从而可以部署到静态网站托管服务上&#xff0c;如 GitHub Pages、Netlify 或任何支持静态文件的网站服务器。 &am…...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院查看报告小程序

一、开发环境准备 ​​工具安装​​&#xff1a; 下载安装DevEco Studio 4.0&#xff08;支持HarmonyOS 5&#xff09;配置HarmonyOS SDK 5.0确保Node.js版本≥14 ​​项目初始化​​&#xff1a; ohpm init harmony/hospital-report-app 二、核心功能模块实现 1. 报告列表…...

今日科技热点速览

&#x1f525; 今日科技热点速览 &#x1f3ae; 任天堂Switch 2 正式发售 任天堂新一代游戏主机 Switch 2 今日正式上线发售&#xff0c;主打更强图形性能与沉浸式体验&#xff0c;支持多模态交互&#xff0c;受到全球玩家热捧 。 &#x1f916; 人工智能持续突破 DeepSeek-R1&…...

基于Java Swing的电子通讯录设计与实现:附系统托盘功能代码详解

JAVASQL电子通讯录带系统托盘 一、系统概述 本电子通讯录系统采用Java Swing开发桌面应用&#xff0c;结合SQLite数据库实现联系人管理功能&#xff0c;并集成系统托盘功能提升用户体验。系统支持联系人的增删改查、分组管理、搜索过滤等功能&#xff0c;同时可以最小化到系统…...

Python基于历史模拟方法实现投资组合风险管理的VaR与ES模型项目实战

说明&#xff1a;这是一个机器学习实战项目&#xff08;附带数据代码文档&#xff09;&#xff0c;如需数据代码文档可以直接到文章最后关注获取。 1.项目背景 在金融市场日益复杂和波动加剧的背景下&#xff0c;风险管理成为金融机构和个人投资者关注的核心议题之一。VaR&…...

根目录0xa0属性对应的Ntfs!_SCB中的FileObject是什么时候被建立的----NTFS源代码分析--重要

根目录0xa0属性对应的Ntfs!_SCB中的FileObject是什么时候被建立的 第一部分&#xff1a; 0: kd> g Breakpoint 9 hit Ntfs!ReadIndexBuffer: f7173886 55 push ebp 0: kd> kc # 00 Ntfs!ReadIndexBuffer 01 Ntfs!FindFirstIndexEntry 02 Ntfs!NtfsUpda…...

离线语音识别方案分析

随着人工智能技术的不断发展&#xff0c;语音识别技术也得到了广泛的应用&#xff0c;从智能家居到车载系统&#xff0c;语音识别正在改变我们与设备的交互方式。尤其是离线语音识别&#xff0c;由于其在没有网络连接的情况下仍然能提供稳定、准确的语音处理能力&#xff0c;广…...

微服务通信安全:深入解析mTLS的原理与实践

&#x1f525;「炎码工坊」技术弹药已装填&#xff01; 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 一、引言&#xff1a;微服务时代的通信安全挑战 随着云原生和微服务架构的普及&#xff0c;服务间的通信安全成为系统设计的核心议题。传统的单体架构中&…...