java12

1:List的子类(掌握)
	(1)List的子类特点
		ArrayList:
			底层数据结构是数组,查询快,增删慢
			线程不安全,效率高
		Vector:
			底层数据结构是数组,查询快,增删慢
			线程安全,效率低
		LinkedList:
			底层数据结构是链表,查询慢,增删快
			线程不安全,效率高
	(2)ArrayList
		A:没有特有功能需要学习
		B:案例
			a:ArrayList存储字符串并遍历
			b:ArrayList存储自定义对象并遍历
	(3)Vector
		A:有特有功能
			a:添加
				public void addElement(E obj)		--	add()
			b:获取
				public E elementAt(int index)		--	get()
				public Enumeration<E> elements()	--  iterator()
		B:案例
			a:Vector存储字符串并遍历
			b:Vector存储自定义对象并遍历
	(4)LinkedList
		A:有特有功能
			a:添加
				addFirst()
				addLast()
			b:删除
				removeFirst()
				removeLast()
			c:获取
				getFirst()
				getLast()
		B:案例
			a:LinkedList存储字符串并遍历
			b:LinkedList存储自定义对象并遍历
	(5)案例:
		A:去除集合中的多个字符串的重复元素
			如果字符串的内容相同,即为重复元素
		B:去除集合中的多个自定义对象的重复元素
			如果自定义对象的成员变量值都相同,即为重复元素
		C:用LinkedList模拟一个栈数据结构的集合类,并测试。
			你要定义一个集合类,只不过内部可以使用LinkedList来实现。

2:泛型(掌握)
	(1)泛型概述
		是一种把明确类型的工作推迟到创建对象或者调用方法的时候才去明确的特殊的类型。
	(2)格式:
		<数据类型>
		注意:该数据类型只能是引用类型。
	(3)好处:
		A:把运行时期的问题提前到了编译期间
		B:避免了强制类型转换
		C:优化了程序设计,解决了黄色警告线问题,让程序更安全
	(4)泛型的前世今生
		A:泛型的由来
			Object类型作为任意类型的时候,在向下转型的时候,会隐含一个转型问题
		B:泛型类
		C:泛型方法
		D:泛型接口
		E:泛型高级通配符
			?
			? extends E
			? super E
	(5)我们在哪里使用呢?
		一般是在集合中使用。

3:增强for循环(掌握)
	(1)是for循环的一种
	(2)格式:
		for(元素的数据类型 变量名 : 数组或者Collection集合的对象) {
			使用该变量即可,该变量其实就是数组或者集合中的元素。
		}
	(3)好处:
		简化了数组和集合的遍历
	(4)弊端
		增强for循环的目标不能为null。建议在使用前,先判断是否为null。

4:静态导入(了解)
	(1)可以导入到方法级别的导入
	(2)格式:
		import static 包名....类名.方法名;
	(3)注意事项:
		A:方法必须是静态的
		B:如果多个类下有同名的方法,就不好区分了,还得加上前缀。
			所以一般我们并不使用静态导入,但是一定要能够看懂。

5:可变参数(掌握)
	(1)如果我们在写方法的时候,参数个数不明确,就应该定义可变参数。
	(2)格式:
		修饰符 返回值类型 方法名(数据类型... 变量) {}

		注意:
			A:该变量其实是一个数组名
			B:如果一个方法有多个参数,并且有可变参数,可变参数必须在最后
	(3)Arrays工具类的一个方法
		asList()把数组转成集合。
		注意:这个集合的长度不能改变。

6:练习(掌握)
	A:集合的嵌套遍历
	B:产生10个1-20之间的随机数,要求随机数不能重复
	C:键盘录入多个数据,以0结束,并在控制台输出最大值

7:要掌握的代码
	集合存储元素,加入泛型,并可以使用增强for遍历。

  

时间: 2024-12-19 11:15:27

java12的相关文章

Java12新特性 -- 默认生成类数据共享(CDS)归档文件

默认生成类数据共享(CDS)归档文件 同一个物理机/虚拟机上启动多个JVM时,如果每个虚拟机都单独装载自己需要的所有类,启动成本和内 存占用是比较高的.所以Java团队引入了类数据共享机制 (Class Data Sharing ,简称 CDS) 的概念,通过把一些核心类在每个JVM间共享,每个JVM只需要装载自己的应用类即可.好处是:启动时间减少了,另外核心类是共享的,所以JVM的内存占用也减少了. 历史版本 JDK5引入了Class-Data Sharing可以用于多个JVM共享class,

Java12可用新特性一览,了解一下没有错

你有一个思想,我有一个思想,我们交换后,一个人就有两个思想 If you can NOT explain it simply, you do NOT understand it well enough 现陆续将Demo代码和技术文章整理在一起 Github实践精选,本文同样收录在此,方便大家阅读查看,觉得不错,还请Star?? 日常工作对集合操作真的太频繁了,前端时间就写过一篇关于Java 12 集合的文章 Java12 Collectors.teeing 的使用详解 , 有朋友留言说这个功能比

java12.API

day12面试题  String s1 = "abc";  String s2 = "abc";  System.out.println(s1 == s2); //true 比较的是地址,如果常量池中已经有了"abc"字符串,那么就直接将该字符串地址给s2而不是新建  System.out.println(s1.equals(s2)); //true 比较的是属性值,相等的    String s1 = new String("abc&

java12 - 7 排序的案例

对键盘录入的字符串中的字符进行排序. 举例:"dacgebf" 结果:"abcdefg" 分析:1.首先对字符转换为数组,并进行排序: A:直接让它们以字符的形式进行比较   B:冒泡排序或者选择排序都可以 2.进行数组遍历,并转换为字符串,并输出 3.用方法进行操作: a:返回类型 :String b:参数列表:String 1 import java.util.Scanner; 2 public class ArrayTest3 { 3 4 public sta

从头认识java-12.6 接口与类型信息(怎么绕过接口直接调用类的所有方法)

这一章节我们来讨论一下接口与类型信息. 在之前的章节里面我们提到接口,父类引用子类对象,然后把方法给缩窄了,但是我们这一章节学习到反射,这个约束就变得没有那么严格. 我们来看看下面的例子: package com.ray.ch11; public class Test { public static void main(String[] args) { Person man = new Man(); man.sleep(); man.run(); // man.say();//error } }

从头认识java-12.2 Class对象(3)-.class

这一章节我们来讨论一下得到Class对象的另一种方式.class. 1.例子 package com.ray.ch12; public class Test { public static void main(String[] args) { System.out.println(Person.class.getName()); } } class Person { static { System.out.println("loading person"); } public Pers

重拾Java回忆录(十二):Java12线程的使用

进程和线程 进程:一个操作系统中执行的一个子程序,包含虚拟cpu,代码,数据 DOS 多进程:一个操作系统中执行的多个子程序,提高cpu的使用率 线程:在一个进程中同时执行的子程序流 多线程:在一个进程中同时执行的若干的子程序流 进程和线程的区别: 进程有独立的进程空间(存放数据),彼此之间是独立的 线程的堆空间是共享的,栈空间是独立的,而且线程占用的资源比较小,相互之间可以影响 Java中如何使用进程 调用本地程序的类 Runtime:当前的运行环境exec返回结果为process Proce

JAVA------12.app 测试api接口

import java.awt.BorderLayout; import java.awt.FlowLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.net.MalformedU

Java各版本特性一览-从Java1.0到Java12

JDK Version 1.0 1996-01-23 Oak(橡树) 初代版本,伟大的一个里程碑,但是是纯解释运行,使用外挂JIT,性能比较差,运行速度慢. JDK Version 1.1 1997-02-19 – JDBC(Java DataBase Connectivity); – 支持内部类; – RMI(Remote Method Invocation) ; – 反射; – Java Bean; JDK Version 1.2 1998-12-08 Playground(操场) – 集合