目录 1.Set集合 1.1set集合概述和特点 1.2哈希值 1.3HashSet集合概述和特点 1.4HashSet集合保证元素唯一性源码分析 1.5常见数据结构之哈希表 1.6LinkedHashSet集合概述和特点 1.7TreeSet集合概述和特点 1.8自然排序Comparable的使用 1.9比较器Comparator的使用 2.泛型 2.1泛型概述 2.2泛型类 2.3泛型方法 2.4泛型接口 2.5类型通配符 2.6可变参数 2.7可变参数的使用1.Set集合 1.1set集合概述和特点 set集合特点 不包含重复元素的集合...
第九章 集合 9.1 Java集合框架 9.1.1 将集合的接口与实现分离 与现代的数据结构类库的常见情况一样,Java集合类库也将接口(interface)与实现(implementation)分离。 首先,看一下人们熟悉的数据结构——队列(queue)是如何分离的。 队列接口指出可以在队列的尾部添加元素,在队列的头部删除元素,并且可以查找队列中元素的个数。当需要收集对象,并按照“先进先出”的规则检索对象时就应该使用队列。 队列接口的最简形式可能类...
学习笔记@Effective Java 第二章创建和注销对象Item 1考虑用静态工厂方法代替构造函数Item 2考虑一个生成器模式当面对很多构造参数时文章内容来源于Joshua Bloch - Effective Java (3rd) - 2018.chm一书 第二章 创建和注销对象 Item 1考虑用静态工厂方法代替构造函数 静态工厂方法不是设计模式中的工厂模式[ static factory method is not the same as the Factory Method pattern from Design Patterns] public static Boolean va...
目录 1.基本类型包装类 1.1基本类型包装类概述 1.2Integer类的概述和使用 1.3int 和string的相互转换 1.4练习案例字符串中数据排序 1.5自动装箱和拆箱 2.日期类 2.1date类概述和构造方法 2.2Date类常用方法 2.3SimpleDateFormat类概述 2.4SimpleDateFormat的构造方法 2.5SimpleDateFormat格式化和解析日期 2.6日期类案例 2.7Calendar类概述 2.8Calendar的常用方法 2.9案例:二月天 3.异常 3.1异常概述 3.2JVM的默认处理方案 3.3异常...
/***本文主要为搬运的B站狂神说老师的讲课的笔记,链接https://space.bilibili.com/95256449?spm_id_from=333.788.b_765f7570696e666f.1**/ 1、基本概念 1.1、前言 web开发:web,网页的意思 , www.baidu.com静态webhtml,css提供给所有人看的数据始终不会发生变化!动态web淘宝,几乎是所有的网站;提供给所有人看的数据始终会发生变化,每个人在不同的时间,不同的地点看到的信息各不相同!技术栈:Servlet/JSP,ASP,PHP在Java...
多线程(Thread) 1.自定义线程类继承Thread类 重写run()方法,编写线程执行体 创建线程对象,调用start()方法启动线程 //创建线程的方式之一:继承Thread类,重写run()方法,调用start开启线程 //总结:注意,线程开启不一定立即执行,由cpu调度执行 public class TestThread1 extends Thread{@Overridepublic void run() {//run方法线程体for (int i = 0; i < 200; i++) {System.out.println("我在看代码---"+i);}}public static...
从头开始学习JAVA的第四天 类型转换变量作用域 常量(Constant)变量的命名规范运算符算术运算符赋值运算符关系运算符逻辑运算符位运算符(操作二进制数)字符串连接符类型转换 由低到高 byte,short,char,int,long,float,double (从高到低)强制转换 格式:(类型)变量名 (从低到高)自动转换 注意点 1.不能对布尔值进行转换 2.不能把对象类型转换为不相干的类型 3.在把大容量转换为低容量时,强制转换可能会存在内存溢出或者精度...
1 两个线程同时访问一个对象的同步方法 synchronized 起作用 2 两个线程访问的是两个对象的同步方法 synchronized 不起作用 3 两个线程访问的是 synchronized 的静态方法 synchronized 起作用 4 同时访问同步方法和非同步方法 synchronized 不会影响其他方法,即非同步方法不受影响 /*** @Description 同步方法和非同步方法* @Author tzb* @Date 2021/1/8 15:52* @Version 1.0**/ public class SynchronizedYesAndNo6 implements R...
1.数组 1.1什么是数组【理解】数组就是存储数据长度固定的容器,存储多个数据的数据类型要一致。1.2数组定义格式【记忆】 1.2.1第一种 数据类型[] 数组名 示例: int[] arr; double[] arr; char[] arr;1.2.2第二种 数据类型 数组名[] 示例: int arr[]; double arr[]; char arr[];1.3数组动态初始化【应用】 1.3.1什么是动态初始化数组动态初始化就是只给定数组的长度,由系统给出默认初始化值1.3.2动态初始化格式 数据类型[] 数组...
初始化 初始化顺序为 静态对象——非静态对象——构造器 构造器 构造器实际上是一个静态方法 既然是方法那就可以重载 在传参数时,如果形参是long类型,实参可以是int类型。此处与计算时小范围向大范围转类似(都是为了避免数据遗失) 小知识点:构造器可以调用重载的构造器(使用this关键字)但是必须在起始位置并且只能调用一个别的构造器 class People{String name;int age;public People() {this("龟龟侠"); // this(18);//只...
记录学习使用,欢迎留言讨论(如果想要知道完整的知识请查看java编程思想第一章的内容) 居然因为版权审核不过~~~ 抽象过程 只针对待解决问题建模:首先可以理解为有两个模型一个是我们所遇见的问题所用是问题空间,一个是解决问题所用是解空间。他们是一一对应关系。 如要使用代码实现一个灯泡,在问题空间中应该有一个灯,它具有开灯、关灯、变亮、变暗的功能。 在对应的解空间中就有一个Light对象以及对应的方法。 Light lt = n...
记录学习使用,欢迎留言讨论(如果想要知道完整的知识请查看java编程思想第三章的内容) 如果有编程基础应该觉得操作符没什么难度(^ 0 ^) 我就写几个小知识点。 小知识点:使用random得到随机数(使用Math也可以得到随机数)Random random = new Random();// 限制范围0-10int i = random.nextInt(10);int j = random.nextInt();System.out.println("i="+i);System.out.println("j="+j);// 结果:i=4// j=-1577521398小知识点:...
Day19 可变参数 可变参数:就是形参的个数是可以变化的 格式:修饰符 返回值类型 方法名(数据类型… 变量名){}范例:public static int sum(int… a){}这里的变量其实是一个数组如果一个方法有多个参数,包含可变参数,可变参数要放在最后 示例: public class ChangeableTest {public static void main(String[] args) {//调用方法传递数组中的值int sum = getSum(1,2,3,4,5);System.out.println("sum = "+sum); //sum = 15}//创建...
Day17 泛型 泛型概述 泛型:是JDK5中引入的特性,它提供了编译时类型安全监测机制 泛型的好处: 把运行时期的问题提前到了编译期避免了强制类型转换 泛型可以使用的地方: 类后面,这样的类称为泛型类方法申明上,这样的方法称为泛型方法接口后面,这样的接口称为泛型接口 总结: ? 如果一个类的后面有,表示这个类是一个泛型类;创建泛型类的对象时,必须要给这个泛型确定具体的数据类型。 泛型定义格式 <类型>:指定一种类型的格式...
Web JavaWeb 使用Java语言开发基于互联网的项目。 软件架构 C/S:Client/Server 客户端/服务器端 在用户本地有一个客户端程序,在远程有一个服务器端程序优点:用户体验好缺点:开发、安装、部署、维护麻烦。 B/S:Browser/Server 浏览器/服务器端 只需要一个浏览去,用户通过不同的网址(URL),客户访问不同的服务器端程序优点:开发、安装、部署、维护麻烦。(相对而言)缺点:如果应用过大,用户的体验可能受到影响;对硬件要求...