黑马程序员_【总结】_集合框架知识梳理4_(end)

JAVASE+AI(超详细版-黑马程序员) a. 对象是一种特殊的数据结构,可以用来记住一个事物的数据,从而代表该事物。b. 步骤:c. 对象的本质上是一种特殊的数据结构(可以理解成一张表)d.对象在计算机中是什么?可以让设备中的程序与网络上其他设备中的程序进行数据交互的技术(实现网络通信)。基本的通信架构有 2 种形式: CS 架构( Client 客户端 /Server 服务端 ) 、 BS 架构 (Browser 浏览器 /Server 服务端 )。无论是 CS 架构,还是 BS 架构的软件都必须依赖网络编程! 阅读详情
集合框架知识梳理4


---------- android培训 、 java培训、期待与您交流! ---------- 

---------------------------------------------------------------------------------------------------------------------------------------------

几个常用类
-----------------------------
1、System 类中的方法和属性都是静态的。
System.in 标准输入默认键盘--System.out标准输出默认控制台
2、 获取系统属性信息:Properties getProperties();  【重点】
3、Properties 是Hashtable的子类,也就是Map集合的一个子类对象。
4、Runtime  该类没有构造函数,属于单列模式,《保证对象的唯一》
Runtime r = Runtime.getRuntime();
r.exec(String);可以启动应用程序
r.exec(程序 对应文件);
5、Date  -    SimpleDateFormat 
Date d = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日  hh:mm:ss");
String time = sdf.format(d);
6、Calendar 类可以获取系统的配置信息。
7、重点掌握, c.add(Calendar.YEAR,4); //给年加4年。 加减亦可。
    c.add(Calendar.MONTH,10); 
//加月的时候,故意放一个大数字,发现自动相加到下一年了。
8、 Math.random() 生成随机数。
---------------------------------------------------------------


【12】
System
获取系统所有信息:string PropertyNames()
获取系统指定信息:String alue = System.getProperty("os.name");
设置 自定的兼职进系统信息。
System.setProperty("myKey","myValue");
动态加入值,Java -Dkey = value类名
System:  类中的方法和属性都是静态的。
out   :  标准输出,默认是控制台
in    :  标准是输入,默认是键盘


获取系统属性信息:Properties getProperties();  【重点】


查看API的时候
当一个类没有构造函数的时候,说明该类不能直接创建实例,通常只有静态方法。
class SystemDemo1 {
	public static void main(String[] args) {
		Properties prop = System.getProperties();
		//因为Properties 是Hashtable的子类,也就是Map集合的一个子类对象。
		//那么可以用过map 的方法取出该集合中的元素。
		// 该集合中存储的 都是字符串,没有泛型定义。
		//如何在系统中,自定义一些特有信息呢?
		System.setProperty("mykey","myvalue");
		//获取指定系统信息
		String value = System.getProperty("os.name");
		System.out.println("value:"+value);
		//可不可以在jvm启动时,动态加载一些属性信息呢?
		String v = System.getProperty("haha");
		System.out.println("v:"+v);
		//java -Dhaha=qq SystemDemo1    在CMD中运行 ,即可给v赋值。
		//获取所有系统信息。
		//for(Object obj : prop.keySet()){
		//	System.out.println(obj);  //obj 就是键
		//	String value = (String)prop.get(obj);// get 键,获取alue
		//	System.out.println(obj+"::::"+value);
		//}
	}
}
【13】
Runtime   单列设计模式(不能new对象)
该对象 常用 于启动,和结束指定进程
Runtime r = Runtime.getRuntime();
r.exec(String);可以启动应用程序
r.exec(程序 对应文件);

该类中并没有提供构造函数
说明不可以new对象,那么会直接想到,该类中的方法都是静态的
发现该类中还有非静态的方法
说明该类肯定提供了方法获取本来对象,而且该方法是警惕的,
并且返回值是本类类型。             (单列模式有木有。)

由这个特点,可以看出该类使用了单列设计模式完成《保证对象的唯一》

该方法是Static Runtime getRuntime()
class  RuntimeDemo2{
	public static void main(String[] args) throws Exception{
		Runtime r = Runtime.getRuntime();
		//r.exec("D:\\Tool2\\QQ2014\\QQProtect\\Bin\\QQProtect.exe");
		//r.exec("QQProtect.exe");  //没有配置环境变量,所以失败。
		Process p =r.exec("D:\\Tool2\\weiyundisk\\Bin\\wydrive.exe");  //process 返回一个进程		
		//为了看到下面语句的作用,先来一个间歇时间
		Thread.sleep(5000);//5秒		
		p.destroy();
		//杀掉进程。该方法只能杀掉他启动的线程。  
		//notepad  记事本     用记事本打开后面的文件。
		//扩展:如果把记事本 改为 播放器   是可以打开电影的。
		Process p2 =r.exec("notepad.exe  RuntimeDemo2.java");		
	}
}
演示 打开 微云 软件 然后 延迟5秒 又结束该进程
最后Process p2 =r.exec("notepad.exe  RuntimeDemo2.java");
打开 RuntimeDemo2.java  用notepad.exe 软件。
【14】
Date  :    日期。
SimpleDateFormat 在java.text 包中
Date d = new Date(); 这样的格式查看不方便。
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日  hh:mm:ss");
再调用String time = sdf.format(d);进行格式化。 的上上诉日期格式
class  DateDemo3{
	public static void main(String[] args) {
		Date d =new  Date();
		System.out.println(d);//打印的时间看不懂。 如何有格式的显示?
		//将模式封装到simpleDateformat对象中
		//SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日");/*yyyy年MM月dd日 hh:mm:ss
		//SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日  hh:mm:ss");
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 E hh:mm:ss");
		//调用formation 方法让模式格式化指定对象
		String time = sdf.format(d);
		System.out.println("Time:"+time);
	}
}
该类用来操作时间,可以通过上诉方式,获取指定格式的时间显示方式。
【15】
Calendar 
抽象类,不能直接创建对象,可以通过静态方法,得到一个当前的日期对象
Calendar c = Calender.getInstance();
int index1 = c.get(Calender.MONTH);
int index2 = c.get(Calender.DAY_OF_WEEK);

可以直接设置日期
c.set(2014,6,16);
可以对当前日期 进行仍以的前后加减
c.add(Calendar1YEAR,1);  //加一年。
class  CalendarDemo4{
	public static void main(String[] args) {
		Calendar c = Calendar.getInstance();
		//System.out.println("yeat !"+c);
		//	打印c我们发现有很多信息,其中年是以键值对出现的,
		//	那么。就能使用Map的方法获取
		//	而YEAR这个字段必须指定所属。
		System.out.println("yeat !"+c.get(Calendar.YEAR));
		//打印一个年月日组合。
		//【a】使用查表法来指定月份。
		String [] mons = {"一月","二月","三月","四月",
						  "五月","六月","七月","八月",
						  "九月","十月","十一月","十二月"};
		int index = c.get(Calendar.MONTH);
		//【b】使用查表法来指定月份。 一定要注意这个七天的顺序:空天123
		String [] xing = {"","礼拜天","礼拜一","礼拜二","礼拜三","礼拜四","礼拜五","礼拜六"};
		int index2 = c.get(Calendar.DAY_OF_WEEK);
		sop(c.get(Calendar.YEAR)+"年");
		//sop(c.get(Calendar.MONTH)+"月");使用查表法后 同样的道理,星期也可以如此。
		sop(mons[index]);
		sop(c.get(Calendar.DAY_OF_MONTH)+"日");
		//sop("星期"+c.get(Calendar.DAY_OF_WEEK));  // 使用查表法。【b】
		sop(xing[index2]);
		//发现月数是当前月数-1  因为Java都是从0 开始
		//	并且,数字显示月份效果不佳。下面继续【a】
		// 老方法获取年。
		//	上面的例子SimpleDateFormat 格式化了年月日,后来加上了具体世间,还加了星期
		//	那么我们只传入一个年,然后进行格式化,是否等得到年?
		Date d = new Date ();
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy");
		String year = sdf.format(d);
		System.out.println("yeat !"+year);
	}
	public static void sop(Object obj){
		System.out.println(obj);
	}
}
通过打印://System.out.println("yeat !"+c); 能够获取到系统的配对信息。
【重点:必须掌握】
Calendar    设定时间。
两个练习:
1、获取任一年的二月有多少天。
2、获取昨天的现在这个时刻。
class CalendarDemo5 {
	public static void main(String[] args) {	
		Calendar c =Calendar.getInstance();
		//set 写一个年月日。然后打印。
		//c.set(2012,2,23);//设定时间
		//推迟时间,必须掌握。
		c.add(Calendar.YEAR,4); //给年加4年。 加减亦可。
		c.add(Calendar.MONTH,10); //加月的时候,故意放一个大数字,发现自动相加到下一年了。
		printlnCalendar(c);
	}
	// 上一Demo 中的方法。
	public static void printlnCalendar(Calendar c ) 
	{
		//使用查表法来指定月份。 星期几
		String [] mons = {"一月","二月","三月","四月",
						  "五月","六月","七月","八月",
						  "九月","十月","十一月","十二月"};
		int index = c.get(Calendar.MONTH);
		String [] xing = {"","礼拜天","礼拜一","礼拜二","礼拜三",
			                 "礼拜四","礼拜五","礼拜六"};
		int index2 = c.get(Calendar.DAY_OF_WEEK);
		sop(c.get(Calendar.YEAR)+"年");//年
		sop(mons[index]);//月
		sop(c.get(Calendar.DAY_OF_MONTH)+"日");//日
		sop(xing[index2]);//礼拜几
	}
	public static void sop(Object obj){
		System.out.println(obj);
	}
}
16】
Math.ceil()    :返回大于指定数据的最小整数
Math.floor()   :返回小于指定数据的最大整数
Math.round     :四舍五入。
Math.pow(2,3)  :计算次幂  2的3次幂
Math.random()  :生成随机数
练习:
给定一个小数,保留该小数的后两位。
class MathDemo7 {
	public static void main(String[] args) {
		double m = Math.ceil(12.34);//ceil 返回大于指定数据的最小整数
		double m1= Math.floor(12.34);//floor 返回小于指定数据的最大整数
		long l = Math.round(12.34);
		long l1 = Math.round(12.54);// round 四舍五入。
		sop(m);
		sop(m1);
		sop(l);
		sop(l1);
		double d2 = Math.pow(2,3);//  pow  计算次幂  2的3次幂
		sop(d2);
		//随机数
		sop("----------------------------");
		suiji();	
	}  
	public static void suiji(){
		Random r = new Random();
		for(int i=0 ; i<150 ; i++){
			//double d = Math.random();
			//int d = (int)(Math.random()*89+10);
			int d=r.nextInt(899)+100;//直接生成**以内的数字。  
			sop(d);
		}
	}
	public static void sop(Object obj){
		System.out.println(obj);
	}
}
Random r = new Random();
int d = (int)(Math.random()*89+10);
随机数的生成,非常的常用。





---------------------------------------------------------------------------------------------------------------------------------------------
---------- android培训、 java培训、期待与您交流!----------
黑马程序员Java基础全解析笔记完整版 Java以“一次编写,到处运行”为核心理念,依托JVM实现跨平台能力。其自动内存管理(垃圾回收)、强类型检查和丰富的标准类库显著提升了开发效率与系统稳定性。JDK作为开发核心套件,包含编译器(javac)、运行时环境(JRE)及虚拟机(JVM),三者关系如下:graph TDB --> D[核心类库]A --> E[开发工具: javac, java等]JAVA_HOME指向JDK根目录,PATH添加以全局调用命令。在程序运行过程中不应改变的数据应定义为常量。Java通过。 阅读详情

相关推荐

黑马20天Java速成课程精华思维导图整理

你看完这篇文章,可能会觉得:“哇,原来这么多细节!但我想告诉你的是:这些不是‘细节’,而是构成你技术判断力的基本单元。当你下次写出时,你会想到它的默认容量;当你写下时,你会意识到这是在划定边界;当你处理异常时,你会思考该不该抛出去;当你设计类结构时,你会问自己:“这是我想要的继承关系吗?这才是真正的成长。✨世界属于愿意深究的人。💻🌍本文还有配套的精品资源,点击获取。

weixin_35754962的博客 1041

黑马程序员_【总结】_集合框架知识梳理2

集合框架知识梳理2 ---------- android培训 、java培训 、期待与您交流! ----------  -------------------------------------------------------------------------------------------------------------------------

Hnotify的专栏 766

2024“华为杯”中国研究生数学建模竞赛(A题)深度剖析_数学建模完整过程+详细思路+代码全解析

目标是优化风力涡轮机的功率调度,使其在给定的实时风速数据下,最小化涡轮机关键组件(如塔架和主轴)的疲劳损伤。问题的挑战在于,考虑通信延迟和测量噪声的同时,要确保功率输出与风速变化的响应快速且准确。

2401_82549447的博客 6632

黑马程序员_【总结】_集合框架知识梳理3

集合框架知识梳理3 ---------- android培训 、java培训 、期待与您交流! ----------  -------------------------------------------------------------------------------------------------------------------------

Hnotify的专栏 838

ks-快手滑块验证码-Js逆向

本文分析了快手滑块验证码的破解过程。首先通过抓包找到验证码背景图接口,发现需要动态获取captchaSession参数。然后深入分析验证流程,发现verifyParam参数被加密处理,需要追踪其生成逻辑。文章详细解析了加密参数c的构成,包括captchaSn、滑动距离、轨迹信息等,并指出轨迹验证较为严格。最后通过对比浏览器和本地生成的加密值,确认加密逻辑正确,但指出轨迹生成仍需优化。作者建议参考相关文章深入分析轨迹逻辑,并提供了验证成功的截图作为参考。

2302_76420666的博客 1878

WSL 运行make提示/lib/modules/xxx/build: No such file or directory. Stop.错误解决办法

WSL运行make提示/lib//modules/xxx文件或目录不存在。 WSL2的内核是修改过的,无法使用 ubuntu上游的内核头文件和modules文件,因此,我们需要手动编译并安装一个版本。

weixin_45668903的博客 1万+

黑马程序员_【总结】_集合框架知识梳理1

多线程知识梳理 ---------- android培训 、java培训 、期待与您交流! ----------  ---------------------------------------------------------------------------------------------------------------------------

Hnotify的专栏 700

开箱即用的Platform IO开发平台(包括Arduino,ESP8266,ESP32,STM32)

开箱即用的 Platform IO 离线开发环境,包含(ESP32,ESP32S2,ESP8266,Arduino,STM32)

qq_19703307的博客 756

黑马程序员_集合框架及泛型类知识点梳理

---------------------- android培训 、java培训 、期待与您交流! ----------------------     集合框架 集合类 数据多了存在对象内 , 对象多了存在集合内 . 集合只用于存储对象 . 集合长度可变 , 集合可以存储不同类型的对象 . 参阅顶层创建 集合中存储的都是对象的引...

黑马程序员_吉许 163

Python 高级语法:闭包

闭包(Closure)是函数式编程中的一个重要概念。在Python中,闭包可以简单理解为:一种特殊的函数。外函数:嵌套函数中最外层的函数称之为外函数。内函数:嵌套函数中最内层的函数称之为内函数;内函数引用了外函数的临时变量;外函数的返回使用了临时变量的内函数。

moment159的博客 2354

现代 AI Agent 编排技术全景(1)—— 分类体系与四大技术维度

本文介绍基于 LLM 的现代 Agent 分类体系与四大技术维度,形成能够刻画不同 Agent 产品架构特征的分类法

佚失的诗篇 237

《黑马程序员》java集合知识梳理

----------- android培训、java培训、java学习型技术博客、期待与您交流! ------------ Collection是最基本的集合接口。   1.    Collection用于表示对任何对象或元素组,常见的方法有                                                             单个元素

yaohong009的专栏 438

ASPICE(Automotive SPICE)流程落地,研发管理工具自研,如何从量化数据体现研发效率提升的

摘要: ASPICE流程显著提升研发效率,主要体现在质量、成本和时间三个维度。关键量化指标包括:缺陷率降低30%-60%,维护工作量减少28%,研发周期缩短10%-20%,需求变更率降低58%,代码评审效率提升300%。初期开发成本虽增加9%,但长期回报率高。核心方法包括缺陷预防前移、需求精准管理和流程标准化与自动化。建立量化度量体系需覆盖缺陷密度、需求稳定性、进度偏差等指标,并依托工具链支持数据收集。实施ASPICE是短期投入换取长期质量提升和成本优化的高效投资。

汽车软件开发 185

黑马程序员-基础知识梳理6

------- android培训、java培训、期待与您交流! ---------- Map集合:该集合存储键值对,一对对往里存。要保证键的唯一性。 增:put(K key,V value) 删:clear(Object key) 判断:Contains(Object key)           return boolean; isEmpty(); containValue(O

u011340968的专栏 432

YOLOv10精度上不去?QAT量化感知训练全流程,INT8推理mAP只掉0.8%

普通PTQ量化虽简单,但无法应对YOLOv10的小目标特征和激活分布波动,导致精度暴跌。QAT通过“模拟量化误差+联合优化权重与量化参数”,让INT8模型精度接近FP16,同时速度提升1.8倍,完美适配实时检测场景(如安防监控、自动驾驶)。该流程已在工业级项目中验证,针对YOLOv10的优化策略(敏感层保护、小目标加权、分阶段训练)可直接迁移至其他YOLO系列(v8/v9),量化后精度损失均可控制在1%以内。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 916

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

集合框架相关知识点(二)

黑马程序员 集合框架知识点 (Treeset)整理 ------- android培训、java培训、期待与您交流!---------- (一)知识点梳理 1:List及其子类(掌握) (1)List的特点: Collection |--List:元素有序(存入顺序和取出顺序一致),可重复。 |--Set:元素无序,唯一。 (2)List的特有功能: A:添加功能

zhuimengtianya33的博客 384

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

《java黑马学习笔记》——Java学习者的宝藏资源

《java黑马学习笔记》——Java学习者的宝藏资源 【下载地址】java黑马学习笔记资源介绍 《java黑马学习笔记》是一份专为Java初学者设计的精华学习资料,内容源自黑马程序员的课堂笔记,涵盖了Java编程的核心知识点。这份笔记经过精心整理,提炼出关键内容,帮助学习者快速掌握基础知识,避免陷入冗长的视频教学中。笔记...

gitblog_06752的博客 522

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

黑马程序员--c#基础知识梳理

---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ---------------------- 一、常用数据类型 1、整型:int; 2、非整型:double,decimal; 3、非数值型:char,string,bool 等。 二、各类型命名规则 1、变量命名规则:⑴必须以字母、_或@符号开头;⑵后面可以跟任

u013039979的专栏 710

黑马程序员——集合

一.集合的分类 Collection 一次存一个对象, 单列集合 List 可重复, 有索引,有序 ArrayList 数组实现, 查找快, 线程不安全 LinkedList 链表实现, 增删快, 线程不安全 Vector 数组实现, 线程安全 Set   不可重复, 没索引,无序 HashSet 使用哈希算法去重复, 效率高, 但元素无序 TreeSet Tr

however_的专栏 435

黑马程序员-学习笔记-集合框架的知识点汇总

集合框架的知识点汇总

236

Java 集合框架全解析:从数据结构到源码实战

Java集合框架是后端开发的核心基础,分为单列(Collection)和双列(Map)两大体系。本文从体系架构、算法复杂度、List家族和HashMap原理四大维度,结合源码分析集合的核心知识点。重点解析ArrayList(动态数组)和LinkedList(双向链表)的性能差异,包括时间复杂度、扩容机制等底层实现。HashMap部分深入探讨数组+链表/红黑树的结构,以及ConcurrentHashMap的高并发实现。通过对比不同集合类的底层结构、有序性、线程安全等特性,帮助开发者从"会用&quot

xxxxxxllllllshi的博客 1221

黑马程序员-基础知识梳理5

------- android培训、java培训、期待与您交流! ---------- String s ="abc";  s1是一个类类型变量,“abc“是一个对象,字符串最大的特点就是一旦被初始化,就不可以被改变。 String s1="abc"; String s2= new String("abc"); String s3="abc"; 这两句话的区别:s1在内存中只有

u011340968的专栏 762

黑马程序员-技术博客汇总

  从开始入学申请流程到现在,已经过了三个多月了,在这期间,根据毕老师的java基础视频,一步步把java的基础认真的梳理了一遍,争取能把基础巩固好,避免在黑马的学习过程中由于基础问题而导致的力不从心。视频中对知识点的讲解十分到位,相信只要是用心多看几遍,跟着后面多敲代码,都能有所收获。 java基础 黑马程序员-面向对象 黑马程序员-Java String类 黑马程序员...

weixin_33860147的博客 276

python从入门到高阶(基于黑马程序员python教程)

python学习

qq_45893319的博客 5457

黑马程序员_【总结】_IO知识梳理3_(end)

多线程知识梳理 ---------- android培训 、java培训 、期待与您交流! ----------  ---------------------------------------------------------------------------------------------------------------------------

Hnotify的专栏 752

黑马程序员_【总结】_IO知识梳理2

多线程知识梳理2 ---------- android培训 、java培训 、期待与您交流! ----------  --------------------------------------------------------------------------------------------------------------------------

Hnotify的专栏 934
上一篇: 黑马程序员_【总结】_集合框架知识梳理3
下一篇: 黑马程序员_【总结】_IO知识梳理1
Hnotify
博客等级 码龄13年 3粉丝 52原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值