Java
道山_靓仔
行而上学 不行退学
展开
-
(集合) 泛型<Generic>
回想一下,我们的数组* String[] strArray = new String[3];* strArray[0] = "hello";* strArray[1] = "world";* strArray[2] = 10;集合也模仿着数组的这种做法,在创建对象的时候明确元素的数据类型。这样就不会在有问题了。...原创 2019-06-22 16:34:42 · 279 阅读 · 0 评论 -
(集合) List集合LinkedList
LinkedList:* 底层数据结构是链表,查询慢,增删快* 线程不安全,效率高LinkedList的特有功能:* A:添加功能* public void addFirst(Object e)* public void addLast(Object ...原创 2019-05-08 15:46:28 · 279 阅读 · 0 评论 -
(集合) List子类Vector
Vector简介:* 底层数据结构是数组,查询快,增删慢* 线程安全,效率低Vector的特有功能:1:添加功能* public void addElement(Object obj) -- add()* JDK升级的原因:* A:安全* B:效率...原创 2019-05-08 15:43:43 · 240 阅读 · 0 评论 -
(集合) List子类ArrayList
ArrayList:* 底层数据结构是数组,查询快,增删慢* 线程不安全,效率高ArrayList的使用:存储字符串并遍历 public static void main(String[] args) { // 创建集合对象 ArrayList array = new ArrayList(); // 创建元素对象,并添加元素 array.add("...原创 2019-05-08 15:34:35 · 192 阅读 · 0 评论 -
(面向对象) 面向对象概述及成员变量和局部变量的区别
面向对象思想概述面向过程开发,其实就是面向着具体的每一个步骤和过程,把每一个步骤和过程完成,然后由这些功能方法相互调用,完成需求。面向对象是基于面向过程的编程思想,把实现解决问题步骤和功能在进行封装,封装时根据不同的功能,进行不同的封装,功能类似的封装在一起。这样结构就清晰了很多。用的时候,找到对应的类就可以了。举例:把大象装进冰箱 面向过程: 动作有哪些呢?...原创 2019-04-15 16:01:34 · 164 阅读 · 0 评论 -
(Java常用类) Object
Object:类 Object 是类层次结构的根类。每个类都使用 Object 作为超类。每个类都直接或 者间接的继承自Object类。Object类的方法:* public int hashCode():返回该对象的哈希码值。* 注意:哈希值是根据哈希算法计算出来的一个值,这个值和地址值有关,但是不是实际地址值。...原创 2019-04-17 10:45:44 · 119 阅读 · 0 评论 -
(面向对象) Java内部类和匿名内部类
内部类概述: 把类定义在其他类的内部,这个类就被称为内部类。 举例:在类A中定义了一个类B,类B就是内部类。内部的访问特点: A:内部类可以直接访问外部类的成员,包括私有。 B:外部类要访问内部类的成员,必须创建对象。class Outer { private int num = 10; class I...原创 2019-04-17 09:19:05 · 161 阅读 · 0 评论 -
(面向对象) Java修饰符的概述和总结
修饰符: 权限修饰符:private,默认的,protected,public 状态修饰符:static,final 抽象修饰符:abstract类的修饰符: 权限修饰符:默认修饰符,public 状态修饰符:final 抽象修饰符:abstract 用的...原创 2019-04-17 08:20:16 · 179 阅读 · 0 评论 -
(面向对象) 形式参数和返回值的问题深入研究
目录形式参数:引用类型为抽象类:Test1:Test2:引用类型为类:Test1:Test2:链式编程:每次调用完毕方法后,返回的是一个对象。引用类型为接口:Test1:Test2:当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递? 答案:是值传递。Java ...原创 2019-04-16 21:24:02 · 416 阅读 · 0 评论 -
(集合) List接口
目录List接口概述:List案例:List集合的特有功能:List集合的特有遍历功能:Test1:遍历字符串Test2:遍历自定义对象ListIterator listIterator():List集合特有的迭代器(列表迭代器)需求一:我有一个集合,如下,判断里面有没有"world"这个元素,如果有,我就添加一个"javaee"元素,请写代码实现。List...原创 2019-04-21 16:54:02 · 186 阅读 · 0 评论 -
(集合) JDK5新特性:增强for遍历,静态导入,可变参数
增强for:* JDK5的新特性:自动拆装箱,泛型,增强for,静态导入,可变参数,枚举** 增强for:是for循环的一种。** 格式:* for(元素数据类型 变量 : 数组或者Collection集合) {* 使用变量即可,该变量就是元素* }* 底层实现方式: 由于增强for...原创 2019-06-22 18:33:58 · 246 阅读 · 0 评论 -
(集合) List_Son练习
需求1:* 集合的嵌套遍历* 需求:* 我们班有学生,每一个学生是不是一个对象。所以我们可以使用一个集合表示我们班级的学生。ArrayList<Student>* 但是呢,我们旁边是不是还有班级,每个班级是不是也是一个ArrayList<Student>。* 而我现在有多个ArrayList<St...原创 2019-06-22 19:26:22 · 277 阅读 · 0 评论 -
理解 | == 和 equals()的比较
目录Object类的equals():引用类型的equals():基本类型的equalse():Object类的equals():JDK源码: public boolean equals(Object obj) { return (this == obj); }根据查看源码Object类的equals()方法用的是==比较,也就是说...原创 2019-06-26 13:37:24 · 179 阅读 · 0 评论 -
(集合) 集合操作类Collections
目录Collections:是针对集合进行操作的工具类,都是静态方法。Collection和Collections的区别?静态方法:Collections针对ArrayList存储基本包装类的元素排序Collections针对存储自定义对象排序Poke1:洗牌和发牌Poke2:对发的牌进行排序Collections:是针对集合进行操作的工具类,都是静态方法。...原创 2019-07-07 15:35:28 · 486 阅读 · 0 评论 -
(集合) Hashtable类
Hashtable和HashMap的区别?* Hashtable:线程安全,效率低。不允许null键和null值* HashMap:线程不安全,效率高。允许null键和null值List,Set,Map等接口是否都继承子Map接口?* List,Set不是继承自Map接口,它们继承自Collection接口* Map接口本身就是一个顶层接口 // Hash...原创 2019-07-07 15:15:22 · 168 阅读 · 0 评论 -
(集合) 集合嵌套练习(存储并遍历)
目录目录练习一:ArrayList<HashMap<String, String>>练习二:HashMap<String, HashMap<String, Integer>>,>练习三:HashMap<String, ArrayList<String>>,>练习四:获取字符串中每一个字母出现的次...原创 2019-07-07 14:58:14 · 540 阅读 · 0 评论 -
(集合) TreeMap类
键是红黑树结构,可以保证键的排序和唯一性例一:存储HashMap<String,String> // 创建集合对象 TreeMap<String, String> tm = new TreeMap<String, String>(); // 创建元素并添加元素 tm.put("hello", "你好"); tm.put("...原创 2019-07-07 14:38:16 · 210 阅读 · 0 评论 -
(集合) HashMap类
HashMap:是基于哈希表的Map接口实现。目录HashMap:是基于哈希表的Map接口实现。例一:存储类型 HashMap<String,String>例二:HashMap<Integer,String>例三:HashMap<String,Student>例四:存储类型HashMap<Student,String>(同例三...原创 2019-07-07 12:05:22 · 278 阅读 · 0 评论 -
(集合) HashSet
复习Collection集合树:* Collection* |--List* 有序(存储顺序和取出顺序一致),可重复* |--Set* 无序(存储顺序和取出顺序不一致),唯一HashSet:它不保证 set 的迭代顺序;特别是它不保证该顺序恒久不变。 ...原创 2019-06-30 19:34:12 · 167 阅读 · 0 评论 -
(集合) TreeSet
目录TreeSet:能够对元素按照某种规则进行排序。TreeSet add()方法的JDK源码:TreeSet集合的特点:排序和唯一自然排序:Comparable例一:(存储字符串并遍历)例二:存储自定义对象比较器排序:comparator例一:存储自定义对象需求一:获取10个1至20的随机数,要求随机数不能重复。需求二:学生总分从高到低输出到控制...原创 2019-07-01 21:20:08 · 397 阅读 · 0 评论 -
理解 | hashCode()方法重写以及HashSet元素的唯一性
目录Object的hashCode()方法:引用类型的hashCode()方法:基本类型String的hashCode()方法:引用类型的HashSet存储:String基本类型的HashSet存储:说hashCode()方法之前先来介绍一下什么是哈希值:哈希值:是数据存储的逻辑地址,类似于房间的门牌号。Object的hashCode()方法:JDK源吗:...原创 2019-06-26 15:52:22 · 443 阅读 · 0 评论 -
(面向对象) 接口interface
目录接口的特点:接口成员特点:类 接口 之间的关系:抽象类和接口的区别:接口的特点: A:接口用关键字interface表示 interface 接口名 {} B:类实现接口用implements表示 class 类名 implements 接口名 {} C:接...原创 2019-04-16 20:58:32 · 154 阅读 · 0 评论 -
(面向对象) 抽象类abstract
目录抽象类的概述:抽象类的特点:抽象类的成员特点:抽象类的成员方法特性:问题1:一个类如果没有抽象方法,可不可以定义为抽象类?如果可以,有什么意义?问题2:abstract不能和哪些关键字共存?抽象类的概述:我们把一个不是具体的功能称为抽象的功能,而一个类中如果有抽象的功能,该类必须是抽象类。抽象类的特点: A:抽象类和抽象方法...原创 2019-04-16 20:42:02 · 180 阅读 · 0 评论 -
(面向对象) 多态
目录多态:同一个对象(事物),在不同时刻体现出来的不同状态。多态的前提:多态中的成员访问特点:多态的好处:用工具类实现多态:多态的弊端:不能使用子类的特有功能(调用子类特有的方法时会报错)。Test:面试题:多态:同一个对象(事物),在不同时刻体现出来的不同状态。举例:猫可以是猫的类型。猫 m = new 猫();同时猫也是动物的一种,也可以把...原创 2019-04-16 17:03:18 · 134 阅读 · 0 评论 -
(Java常用类) BigInteger
BigInteger:可以让超过Integer范围内的数据进行运算。构造方法:* BigInteger(String val) // 这几个测试,是为了简单超过int范围内,Integer就不能再表示,所以就更谈不上计算了。 // Integer i = new Integer(100); // System.out.println(i); // // Syst...原创 2019-04-08 15:31:02 · 117 阅读 · 0 评论 -
(集合) Collection接口
目录案例引入对象数组:集合的由来:数组和集合的区别?Collection的功能概述:1:添加功能2:删除功能3:判断功能4:获取功能5:长度功能6:交集功能7:把集合转换为数组// 测试不带All的方法// 测试带All的方法集合的遍历。其实就是依次获取集合中的每一个元素。Object[] toArray():把集合转成数组,可以实...原创 2019-04-11 16:29:57 · 552 阅读 · 0 评论 -
(Java常用类) System
System 类包含一些有用的类字段和方法。它不能被实例化。(没有构造方法)在 System 类提供的设施中,有标准输入、标准输出和错误输出流;对外部定义的属性和环境变量的访问;加载文件和库的方法;还有快速复制数组的一部分的实用方法。方法摘要:* public static void gc():运行垃圾回收器。* public static...原创 2019-04-07 21:07:53 · 332 阅读 · 0 评论 -
(Java常用类) Character
Character 类在对象中包装一个基本类型 char 的值此外,该类提供了几种方法,以确定字符的类别(小写字母,数字,等等),并将字符从大写转换成小写,反之亦然构造方法:* Character(char value) // 创建对象 // Character ch = new Character((char) 97); Character c...原创 2019-04-05 16:10:04 · 127 阅读 · 0 评论 -
(Java常用类) Integer
目录Integer的构造方法:int类型和String类型的相互转换:常用的基本进制转换:JDK5的新特性:面试题看程序写结果:* 注意:Integer的数据直接赋值,如果在-128到127之间,会直接从缓冲池里获取数据为了对基本数据类型进行更多的操作,更方便的操作,Java就针对每一种基本数据类型提供了对应的类类型。包装类类型。* byte ...原创 2019-04-05 16:02:30 · 102 阅读 · 0 评论 -
(Java常用类) Array
目录冒泡排序:相邻元素两两比较,大的往后放,第一次完毕,最大值出现在了最大索引处选择排序:从0索引开始,依次和后面元素比较,小的往前放,第一次完毕,最小值出现在了最小索引处查找:Arrays:针对数组进行操作的工具类。比如说排序和查找。Array工具类方法源码解析:冒泡排序:相邻元素两两比较,大的往后放,第一次完毕,最大值出现在了最大索引处//...原创 2019-04-05 15:40:28 · 185 阅读 · 0 评论 -
(Java常用类) StringBuffer:线程安全的可变字符串
* 安全 -- 同步 -- 数据是安全的* 不安全 -- 不同步 -- 效率高一些目录StringBuffer和String的区别?StringBuffer的构造方法:StringBuffer的方法:StringBuffer的添加功能:StringBuffer的删除功能:StringBuffer的替换功能:StringBuffer的反转功能:StringBu...原创 2019-04-05 15:26:20 · 896 阅读 · 0 评论 -
(Java常用类) String
目录字符串:就是由多个字符组成的一串数据。也可以看成是一个字符数组。特性:构造方法和方法:字符串的特点:一旦被赋值,就不能改变。String s = new String(“hello”)和String s = “hello”;的区别?==和equals的区别:字符串拼接:String类的判断功能:String类的获取功能:String的转换功能:...原创 2019-04-05 14:58:44 · 281 阅读 · 0 评论 -
(Java常用类) Scanner
Scanner:用于接收键盘录入数据System类下有一个静态的字段: public static final InputStream in; 标准的输入流,对应着键盘录入。 InputStream is = System.in;构造方法: Scanner(InputStream source)使用方法:/* 前面的时...原创 2019-04-05 13:41:43 · 94 阅读 · 0 评论 -
(Java常用类) Math
Math:用于数学运算的类* 成员变量:* public static final double PI* public static final double E* 成员方法:* public static int abs(int a):绝对值* public static double ceil(doubl...原创 2019-04-04 20:48:01 · 137 阅读 · 0 评论 -
(Java常用类) BigDecimal
由于在运算的时候,float类型和double很容易丢失精度,它们大部分的时候,都是带有有效数字位。所以,为了能精确的表示、计算浮点数,Java提供了BigDecimal。 System.out.println(0.09 + 0.01);//0.09999999999999999 System.out.println(1.0 - 0.32);//0.6799999999999999 ...原创 2019-04-08 15:44:23 · 150 阅读 · 0 评论 -
(Java常用类) Date
Date:表示特定的瞬间,精确到毫秒。构造方法:* Date():根据当前的默认毫秒值创建日期对象* Date(long date):根据给定的毫秒值创建日期对象 // 创建对象 Date d = new Date(); System.out.println("d:" + d); // 创建对象 // long time...原创 2019-04-08 16:39:55 · 150 阅读 · 0 评论 -
(Java常用类) Calendar
Calendar:它为特定瞬间与一组诸如 YEAR、MONTH,DAY_OF_MONTH、HOUR 等 日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。成员方法:•public static Calendar getInstance()://使用默认时区和语言环境获得一个日历。•public int get(int field):返回给定日...原创 2019-04-08 16:49:58 · 173 阅读 · 0 评论 -
(面相对象) 继承
目录继承概述:好处:弊端:Java中继承的特点:继承的注意事项:继承中成员变量的关系:this和super的区别:继承中构造方法的关系:如果父类没有无参构造方法,那么子类的构造方法会出现什么现象呢?继承中成员方法的关系:重写override和重载overload:方法重写的注意事项:Test1:Test2:Test3:面试题:...原创 2019-04-16 09:16:15 · 154 阅读 · 0 评论 -
(面向对象) 静态代码块 > 构造代码块 > 构造方法
代码块:在Java中,使用{}括起来的代码被称为代码块。 根据其位置和声明的不同,可以分为 局部代码块:局部位置,用于限定变量的生命周期。 构造代码块:在类中的成员位置,用{}括起来的代码。每次调用构造方法执行前,都会先执行构造代码块。 作用:可以把多个构造方法中的共同代码放到一起,对对象进行初始化。 静态代码块:在...原创 2019-04-15 21:15:12 · 267 阅读 · 0 评论 -
(面相对象) Java帮助文档的制作和使用
需要在该工具类的目录下执行:javadoc指令 如何制作一个说明书呢? A:写一个工具类 B:对这个类加入文档注释 怎么加呢? 加些什么东西呢? C:用工具解析文档注释 javadoc工具 D:格式 javadoc -d 目录 ...原创 2019-04-15 20:57:00 · 145 阅读 · 0 评论