摘要:1、在程序开发过程中,会遇到各种bug。有两种,一种是编译时bug,另一种是运行时bug。后者比较难调试,不能知道bug准确位置。使用泛型可以将一些运行时bug改为编译时不过,通过及时修复编译时bug提高程序健壮性。 2、类型参数 使用泛型时,经常需要声明类型参数,他们通常是一个大写字母,与普通变量
阅读全文
摘要:使用对象流保存对象时,将对象的全部信息都保存了,但是有些信息不希望被保存,比如密码,要用到transient。使用transient关键字修饰的属性,在保存对象时,该属性不会被保存。 package com.utils; import java.io.BufferedInputStream;impo
阅读全文
摘要:package com.utils; import java.io.BufferedReader;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.FileWriter;import java.
阅读全文
摘要:import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.DataInputStream;import java.io.DataOutputStream;import java.io.E
阅读全文
摘要:import java.io.*; import java.io.File; /** * @author 极致书生 基于字节流实现的文件的拷贝 * */ public class ByteCopy { public static void main(String[] args) { File f_s
阅读全文
摘要:import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException; public class JavaIO {
阅读全文
摘要:Java内用 Unicode 编码存储字符,字符流处理类负责将外部的其他编码的字符流和java内 Unicode 字符流之间的转换。而类InputStreamReader 和OutputStreamWriter处理字符流和字节流的转换。字符流(一次可以处理一个缓冲区)一次操作比字节流(一次一个字节)
阅读全文
摘要:单独使用 try finally 能处理异常,但是如果 try finally之间的语句如果存在异常,程序将无法通过编译,这是需要在try finally 之间嵌套try catch 语句块进行异常处理。 对于异常,可以处理异常(try,catch,finally),或者抛出异常(throws) 如
阅读全文
摘要:要实现Comparator接口并将其作为参数传递给TreeMap类的构造方法,重写public int compare方法。 package com.utils;import java.util.Map;import java.util.Map.Entry;import java.util.Set;
阅读全文
摘要:package com.utils; import java.util.Collection;import java.util.HashMap;import java.util.Map;import java.util.Map.Entry;import java.util.Set; public c
阅读全文
摘要:1、map是一个接口,hashtable是一个实现类 2、使用map可以实现接口编程,更加灵活 3.map支持便利键,值,键值对,hashtable不支持 4、map支持在迭代过程中安全删除键值对 5 、hashtable支持线程安全 hashtable属于过时的集合类,虽然多线程下比map更安全,
阅读全文
摘要:他实现了键和值的对应关系,其中保存的键必须是唯一的,对应的值也是唯一的,类似于数学里的函数。他有三个实现类, HashMap 用于快速保存查找数据 TreeMap 支持排序功能 LinkedHashMap 能够保存键值对的添加顺序 接口是学习java集合框架的主线
阅读全文
摘要:一、Collection常用的方法: Java 集合可分为 Set、List 和 Map 三种体系: Set:无序、不可重复的集合。 List:有序,可重复的集合。 Map:具有映射关系的集合。 Collection 接口是 List、Set 和 Queue 接口的父接口, 该接口里定义的方法既可用
阅读全文
摘要:他们都不支持线程同步 Set接口Set不允许包含相同的元素,如果试图把两个相同元素加入同一个集合中,add方法返回false。Set判断两个对象相同不是使用==运算符,而是根据equals方法。也就是说,只要两个对象用equals方法比较返回true,Set就不 会接受这两个对象。 HashSetH
阅读全文
摘要:二者在使用方式上比较类似,核心区别在于Vector 类中有些方法是支持同步的,而后者是没有这样的方法的。因此,Vector适合需要线程安全的场合,后者更适合普通开发,由于支持同步,因此Vector效率比较差
阅读全文
摘要:ArrayList 类相当于线性表,在底层使用数组来存储元素,因此适合快速获得指定位置的元素。但是再删除元素时,列如删除第一个元素,后面的元素必须全部向前移动一位,开销很大,县第一个位置添加元素时,效果类似。 LinkedList类相当于链表,他在底层使用对象保存元素,因此适合元素的增加和删除,但是
阅读全文
摘要:一、前言 二、Iterator接口 三、ListIterator接口 四、Iterator使用场景 五、参考资料 一、前言 迭代器是一个对象,它可以让你遍历一个容器并且有选择性的删除 容器 中的元素,而我们不需要知道 容器 的内部结构.Java有两种原生的迭代器:Iterator和ListItera
阅读全文
摘要:1、 使用普通for循环 2、使用加强版for循环 3、使用迭代器 出现以下两个场景 ,推荐使用迭代器 迭代过程中要删除集合中的元素,如出现过滤功能 并行迭代多个集合 推荐使用迭代器,只有遍历集合中所有元素时,才推荐使用加强版for循环
阅读全文
摘要:1. 工具类collections用于操作集合类,如List,Set,常用方法有: 1) 排序(Sort) 使用sort方法可以根据元素的自然顺序 对指定列表按升序进行排序。列表中的所有元素都必须实现 Comparable 接口。此列表内的所有元素都必须是使用指定比较器可相互比较的 double a
阅读全文
摘要:1、java.util.Collection 是一个集合接口。它提供了对集合对象进行基本操作的通用接口方法。Collection接口在Java 类库中有很多具体的实现。Collection接口的意义是为各种具体的集合提供了最大化的统一操作方式。 Collection ├List │├LinkedLi
阅读全文