随笔分类 - java学习
摘要:字符流 字符编码 编码和解码方式不同,会出现乱码 ISO-8859-1:收录除ASCII外,还包括西欧、希腊语、泰语、阿拉伯语、希伯来语对应的文字符号。 UTF-8:针对Unicode码表的可变长度字符编码,用1/2/3个字节表示字符(万国码) GB2312:简体中文,1/2个字节 GBK:简体中文
阅读全文
摘要:Date Date表示特定的瞬间,精确到毫秒,大部分方法已经呗Calendar类中的方法取代 1s=1000ms=1_000_000nm 方法 创建对象,显示时间 //今天 Date date = new Date(); System.out.println(date.toString()); Sy
阅读全文
摘要:BigDecimal 浮点数的计算是使用近似值,尽量不用浮点数计算 double d1 = 1.0; double d2 = 0.9; System.out.println(d1-d2);//0.09999999999999998 BigDecimal用于精确计算浮点数,位于java.math包中
阅读全文
摘要:Date Date表示特定的瞬间,精确到毫秒,大部分方法已经呗Calendar类中的方法取代 1s=1000ms=1_000_000nm 方法 创建对象,显示时间 //今天 Date date = new Date(); System.out.println(date.toString()); Sy
阅读全文
摘要:String 字符串是常量,创建之后不可改变,修改变量的赋值不是修改字符串,而是将变量指向新创建的字符串 字符串字面值存在字符串池中,可以共享,JDK8后字符串池在堆中 创建字符串变量: String s = "H";产生一个对象,字符串池中存储 String s = new String("H")
阅读全文
摘要:Integer缓冲区 Java预先创建了256个常用的整数包装类型对象,在实际应用中对已创建的对象进行复用 Integer.valueOf其中存在cache缓冲区,自动创建了 -128~127范围中每个整数的cache,在自动装箱时,相同的数字都指向同一个cache new对象:两个引用变量指向不同
阅读全文
摘要:包装类 针对八种基本定义相应的引用类型的封装 作用:使基本类型拥有类的特点,能够调用类的方法 JDK1.5后支持自动拆箱和装箱 基本数据类型 包装类 boolean Boolean byte Byte short Short <u>int </u> <u>Integer </u> long Long
阅读全文
摘要:Object类 Object是所有类的父类,是继承树的最顶层,所有类默认继承Object,或简介继承Object 所有类都具有Object中的定义的方法 Object类型可以存储任何对象 作为参数,可以接受任何对象 作为返回值,可以返回任何对象 getClass() 返回引用中存储的实际对象类型 常
阅读全文
摘要:内部类 在类的内部再定义一个完整的类 特点: 编译后可以生成独立的class文件 可以直接访问外部类的私有成员,不破坏封装 可以为外部类提供必要的内部功能组件 成员内部类 在类的内部定义,与实例变量、实例方法同级 外部类的实例部分,创建内部对象时必须依赖外部类对象 Out out = new Out
阅读全文
摘要:泛型 泛型是JDK1.5中加入的新特性,用于解决数据类型的安全性问题。 通过在类声明时通过一个标识表示类中某个属性的类型或某个方法的返回值及参数类型。 保证代码运行时不产生 ClassCastException异常 Java中的泛型只在编译阶段有效**,不进入运行阶段** 泛型类 对象实例化时不指定
阅读全文
摘要:6. 树 树的特点: 两个节点仅有唯一的一条路径联通 一棵树有n个节点,则一定有n-1条边 树中没有回路 节点 :树中的每个元素都可以统称为节点。 根节点 :顶层节点或者说没有父节点的节点。上图中 A 节点就是根节点。 父节点 :若一个节点含有子节点,则这个节点称为其子节点的父节点。上图中的 B 节
阅读全文
摘要:5. 图 图由顶点和边组成。 G(V, E):其中,G表示图,V表示顶点的集合,E表示边的集合 5.1 基本概念 无向图和有向图 无向图:边没有方向,代表双方有关系/联系,可以理解为双箭头 有向图:边有方向,单项的关系/联系,可以理解为单箭头 无权图和有权图 无权图:只关注是否有关系,不关心关系的强
阅读全文
摘要:4. 队列(queue)) 4.1 简介 队列是先进先出(FIFO, First In, First Out)的线性表 常由链表或数组实现: 顺序队列:数组实现的队列 链式队列:链表实现的对她 队列只允许在**后端(raer)进行插入操作(入队,enqueue);在前端(front)**进行删除操作
阅读全文
摘要:3. 栈(stack) 3.1 简介 栈只允许在有序的线性数据集合的一端(栈顶top)进行加入数据(push)和移除数据(pop)。 栈只能在栈顶进行push和pop操作。 后进先出(LIFO,Last In First Out) 常用一维数组或链表实现: 顺序栈:数组实现 链式栈:链表实现 执行复
阅读全文
摘要:2. 链表(LinkedList) 2.1 简介 链表是一种线性表,但不按线性顺序存储,存储数据的内存空间不连续 执行复杂度: 插入和删除:O(1),仅需要知道目标元素的上一个元素 查找和访问特定节点:O(n) 与数组相比: 非随机访问:存取第N个数据时需要访问前(N-1)个数据 容量不固定,支持动
阅读全文
摘要:1. 数组(Array) 数组由相同类型的元素组成 数组使用一块连续的内存存储,可以由索引计算元素对应的存储地址。 特点: 提供随机访问:存取第N个数据时不需要访问前(N-1)个数据,可以直接对第N个数据进行操作 容量有限(长度一旦确定,无法改变) 执行复杂度: 访问:O(1) 插入:O(n) 插入
阅读全文
摘要:操作集合的工具类:Collecionts 具有一些对集合进行操作的方法 reverse: 反转 Collections.reverse(list); shuffle: 乱序 Collections.shuffle(list); sort: 字典升序 可以通过重写实现类中的 Comparator对Li
阅读全文
摘要:Map Map用于保存具有映射关系的数据,Map集合里保存着Map里的Key和Key对应的Value值(与python中的字典的键值对类似) Map中的Key和Value都可以是任何引用类型的数据 Map中的Key不允许重复,同一个Map中的任何两个Key通过equals比较返回false Key和
阅读全文
摘要:List 和 ArrayList List:元素有序、可重复的集合,集合中每个元素都有其对应的顺序索引 允许使用重复元素,可通过索引访问指定位置的元素 默认按元素的天机顺序设置元素的索引 ArrayList是List接口的实现类 创建列表 List list = new ArrayList(); a
阅读全文
摘要:TreeSet TreeSet是SortedSet接口的实现类 TreeSet可以确保集合元素处于排序状态 支持的排序方法: 自然排序(默认) 定制排序 自然排序 调用compareTo(Object obj)方法来比较元素间的大小关系,然后将集合升序排列 必须放入同类对象,否则会发生类型转换异常(
阅读全文

浙公网安备 33010602011771号