韩顺平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);}}}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/854198.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Springboot 整合 Flowable(一):使用 flowable-UI 绘制流程图

目录 一、Flowable简介 二、Flowable 与 Activiti 的区别 三、流程图的绘制&#xff08;以员工请假流程图为例&#xff09; 1、下载 flowable 的压缩包&#xff1a; 2、启动包中的 tomcat 3、登录页面 4、绘制结束&#xff0c;导出 bpmn20.xml文件 一、Flowable简介 Fl…

老胡的周刊(第146期)

老胡的信息周刊[1]&#xff0c;记录这周我看到的有价值的信息&#xff0c;主要针对计算机领域&#xff0c;内容主题极大程度被我个人喜好主导。这个项目核心目的在于记录让自己有印象的信息做一个留存以及共享。 &#x1f3af; 项目 pingvin-share[2] Pingvin Share 是一个可自…

【机器学习】图神经网络:深度解析图神经网络的基本构成和原理以及关键技术

&#x1f525; 个人主页&#xff1a;空白诗 文章目录 引言一、图数据及其应用场景1.1 图数据的定义和特征1.2 常见的图数据结构1.2.1 社交网络1.2.2 知识图谱1.2.3 分子结构1.2.4 交通网络 1.3 图数据在不同领域的应用实例1.3.1 社交网络中的推荐系统1.3.2 知识图谱中的信息检索…

StarRocks详解

什么是StarRocks&#xff1f; StarRocks是新一代极速全场景MPP数据库&#xff08;高并发数据库&#xff09;。 StarRocks充分吸收关系型OLAP数据库和分布式存储系统在大数据时代的优秀研究成果。 1.可以在Spark和Flink里面处理数据&#xff0c;然后将处理完的数据写到StarRo…

SQL 表连接(表关联)

目录 一、INNER JOIN&#xff08;内连接,等值连接&#xff09; 二、LEFT JOIN&#xff08;左连接&#xff09; 三、RIGHT JOIN&#xff08;右连接&#xff09;&#xff1a; 一、INNER JOIN&#xff08;内连接,等值连接&#xff09; 用途&#xff1a;获取两个表中字段能匹配上…

如何解决 Git 默认不区分文件名大小写和同名文件共存?

修改文件命名的大小写&#xff0c;不会有 git 记录 本文章的例子&#xff1a;将 demo.vue 文件命名改为 Demo.vue 1、在Git项目路径下执行该命令 git config core.ignorecase false &#xff08;1&#xff09;以上方法可以实现 git 区分 demo.vue 与 Demo.vue 文件&#xff0…

功能强大的多功能文档转换工具Neevia Document Converter Pro 7.5.0.241

Neevia Document Converter Pro是一款功能强大的Windows软件,旨在将文档转换为各种格式,包括PDF、TIFF、JPEG和许多其他格式。该程序专为在企业环境中使用而设计,提供文档转换和处理过程的自动化,这使其成为处理大量文档的组织的***工具。 Neevia Document Converter Pro的…

PHP7 数组的实现

前提 PHP版本&#xff1a;php7.0.29使用到的文件 php-src/Zend/zend_types.hphp-src/Zend/zend_hash.hphp-src/Zend/zend_hash.cphp-src/Zend/zend_string.h 本文 是《PHP7底层设计和源码实现》第5章 数组的实现&#xff0c;学习笔记 功能分析 整体结构 bucket 里面增加h字段…

欣九康诊疗系统助力诊所向数字化转型

数字化已经成为各行各业转型的重点方向&#xff0c;而为了不被时代所淘汰&#xff0c;医疗机构也势必要紧跟潮流&#xff0c;本人作为门诊部的负责人深知医疗机构要想实现数字化转型那么拥有一款便捷实用的医疗平台是必不可少的&#xff0c;近几年&#xff0c;随着国家大力支持…

动态 SQL

动态 SQL 是 MyBatis 的强大特性之一&#xff0c;能够完成不同条件下不同的 sql 拼接。也就是说执行的 SQL 语句并不是固定的&#xff0c;而是不同人的不同操作执行的语句会有所差异。MyBatis 通过使用 标签 的方式来实现这种灵活性的。 <if>标签 例如在有一些网站进行…

【可控图像生成系列论文(一)】MimicBrush 港大、阿里、蚂蚁集团合作论文解读

背景&#xff1a;考虑到用户的不同需求&#xff0c;图像编辑是一项实用而富有挑战性的任务&#xff0c;其中最困难的部分之一是准确描述编辑后的图像应该是什么样子。 创新点&#xff1a;在本文作者提出了一种新的编辑形式&#xff0c;称为模仿编辑&#xff0c;以帮助用户更方…

开放式耳机哪个品牌质量比较好?2024高性价比机型推荐!

随着音乐技术的不断进步&#xff0c;耳机也必不可少&#xff0c;开放式耳机成为一部分音乐发烧友们的选择。从最初的简单音质系统&#xff0c;到如今的高清解析&#xff0c;开放式耳机也在不断升级。音质也能够和入耳式一样纯净自然&#xff0c;佩戴舒适&#xff0c;无论是街头…

清华停招土木,新增地球科学引热议

早在今年2月26日&#xff0c;多个自媒体平台上有人发布消息称“清华大学停止土木工程等专业招生”&#xff0c;引发广泛关注。 在清华大学的官网可以看到下图的公告。 可以看到&#xff0c;清华大学停招土木工程等专业&#xff0c;新增地球系统科学等专业。这一举措引起全网热…

亚马逊测评沃尔玛下单砍单率、死号率高是什么原因?

很多卖家和服务商在进行自养号测评补单过程中会出现砍单率、封号率高的问题&#xff0c;其实造成这种的原因很多&#xff0c;一套稳定的测评系统并不是单解决IP的纯净度问题或者支付卡的卡头风控问题就可以解决的&#xff0c;亚马逊测评下单砍单率、死号率高的原因可以归纳为以…

Vue50-mixin混入

一、为什么要使用 mixin混入 两个组件共享一个配置。 二、使用 mixin混入 2-1、创建一个混合js文件 2-2、引入混合js文件 1、局部混合 在每个组件中都引入混合js文件 注意&#xff1a; 混合就是复用配置&#xff0c;vm实例中的所有的配置项&#xff0c;都能在混合.js文件中写…

elasticsearch过滤器filter:原理及使用

码到三十五 &#xff1a; 个人主页 目录 一、引言二、Elasticsearch的过滤器概述三、使用DSL进行过滤操作术语过滤范围过滤复合过滤 四、优化策略五、结语 一、引言 Elasticsearch是一个功能强大的开源搜索引擎&#xff0c;广泛应用于各种数据检索和处理场景。在Elasticsearch…

WPS如何合并多个word文档到一个文档中

将多个Word文档合并成一个 【插入】---》【附件】----》【文件中的文字】----》选择多个需要合并的word文档&#xff0c;点击确定即可。 用的工具是WPS。

MS1112驱动开发(iio框架)

作者简介&#xff1a; 一个平凡而乐于分享的小比特&#xff0c;中南民族大学通信工程专业研究生在读&#xff0c;研究方向无线联邦学习 擅长领域&#xff1a;驱动开发&#xff0c;嵌入式软件开发&#xff0c;BSP开发 作者主页&#xff1a;一个平凡而乐于分享的小比特的个人主页…

Qt实现单例模式:Q_GLOBAL_STATIC和Q_GLOBAL_STATIC_WITH_ARGS

目录 1.引言 2.了解Q_GLOBAL_STATIC 3.了解Q_GLOBAL_STATIC_WITH_ARGS 4.实现原理 4.1.对象的创建 4.2.QGlobalStatic 4.3.宏定义实现 4.4.注意事项 5.总结 1.引言 设计模式之单例模式-CSDN博客 所谓的全局静态对象&#xff0c;大多是在单例类中所见&#xff0c;在之前…

idea插件开发之在项目右键添加菜单

写在前面 本文看下如何在右键列表中增加菜单。 正戏 首先创建一个Action&#xff0c;要显示的menu选择ProjectViewPopupMenu&#xff0c;如下&#xff1a; action public class CAction extends AnAction {Overridepublic void actionPerformed(AnActionEvent e) { // …