自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

原创 (JavaSE 学习记录) IO之文件字符流 FileReader、FileWriter

文件字符流当使用文件字节流时,由于是读入字节数组,而字节数组大小一定,所以有可能出现乱码。当操作字符文件时,可使用文件字符流避免产生此问题。仅适用于操作字符文件。FileReaderFileReader与FileInputStream区别在于读入到的是字符数组。 File src = new File("Garden.txt"); Reader reader = null; try { reader = new FileR

2020-05-26 21:09:15 137

原创 (JavaSE 学习记录) IO之文件字节流 FileInputStream、FileOutputStream,利用文件字节流拷贝文件

文件字节流FileInputStream:字节方式读取文件(适合读取所有类型文件)FileOutputStream:字节方式输出到文件中IO基本步骤:1、创建源2、选择流3、操作4、关闭流FileInputStream //创建源 File src = new File("Garden.txt"); //选择流 InputStream is = null; //操作 try {

2020-05-25 09:12:28 182

原创 (JavaSE 学习记录) File类、递归打印文件夹目录

File类创建一个File对象来表示文件或目录,用于对文件进行生成、删除、读取等操作。//创建、删除文件File f = new File("d:/FileTest.txt");f.createNewFile();f.delete();//创建文件夹File f02 = new File("d:/Garden/Makka");f02.mkdirs(); f02.mkdir(); //mkdir()需要之前的每一层目录都存在,而mkdirs()无所谓//其他常用方法f.exists(

2020-05-24 23:04:40 165

原创 (算法入门) 选择排序法

选择排序1、找出数组中最小的元素2、将其与数组中第一个数交换3、从数组中第二个数开始查找,找出最小的元素,与数组第二个数交换……因为每次需要检查数组中的每一个元素,所以每次操作的时间为O(n),并且需要操作n次,所以选择排序总时间为O(n²) public static void selectionSort(int[] arr){ int smallest; //最小值 int smallest_index; //最小值索引 for (in

2020-05-23 12:21:07 201

原创 (JavaSE 学习记录) 迭代器遍历容器元素

迭代器迭代器为我们提供了一种统一遍历容器的方法。除了使用for循环、增强for循环,我们现在可以使用迭代器遍历容器元素。1、获取迭代器 2、通过hasNext()判断是否有下个元素3、通过next()指向下一个元素当遍历时需要删除该元素时,可使用remove()方法。for (Iterator<Integer> iter = set.iterator();iter.hasNext();){ Integer temp = iter.next(); System.ou

2020-05-20 11:57:14 152

原创 (算法入门) 大O表示法

大O表示法大O表示法是一种特殊的表示法,它表示了一个算法到底有多快,注意并不是表示一个算法所需要的具体的时间,而是表示算法运行时间的增速,随着输入的增加,其运行时间将以什么速度增加,有点对运行时间求导数的感觉,其形式为:O(操作数),我们就是通过其中的操作数判断算法的速度。大O表示法指出了最差的情况下的运行时间,例如:对一个含有n个元素的数组进行简单查找(简单查找即对数组中每个元素进行检查,直到找到目标元素)最差的情况就是最后一个元素为目标元素,此时就需要进行n次操作,简单查找的运行时间O(n)就是最

2020-05-19 21:48:04 395

原创 (JavaSE 学习记录) Set接口、HashSet、TreeSet

Set接口Set接口的方法与Collection接口的方法完全一致,由于其特点为无序、不可重复所以与List接口相比,少了索引的有关方法,当要查找元素时只能通过遍历查找,常用的实现类有HashSet、TreeSet等。HashSetHashSet底层使用了HashMap,可以把HashSet看成一个化简之后的HashMap,其化简之处在于,将HashMap的键值对的值对象定义为常量,将想要存入HashSet中的元素作为其底层HashMap的键对象存入底层的HashMap中去。这也是为何HashSet不

2020-05-19 10:56:02 139

原创 (JavaSE 学习记录) Map接口、常用方法

Map接口Map用来存放键值对,键不可重复,重复则覆盖键对应的值。Map接口的实现类有HashMap、TreeMap、HashTable等。HashMap:底层数组加链表,查询效率高,线程不安全。HashTable:和HashMap几乎一样,但加了synchronized,确保线程安全,所以效率下降。TreeMap:红黑二叉树典型实现,大量使用红黑树理论,用法和HashMap相同,效率比HashMap低,需要排序时才使用TreeMap。常用方法 Map<Integer,St

2020-05-17 11:07:19 122

原创 (JavaSE 学习记录) List接口、常用方法

List接口List接口作为Collection的子接口,主要的实现类有ArrayList、LinkedList和Vector。ArrayList:查询效率高,线程不安全LinkedList:增删效率高,线程不安全Vector:线程安全List的特点为有序、可重复。有序,即有索引,可通过索引查找到其中元素;可重复,即可加入.equals()返回为true的重复元素。常用方法: List list = new ArrayList(); list.add("玛卡巴卡"); //

2020-05-16 08:02:47 161

原创 (JavaSE 学习记录) Math类、Random类常用方法

Math类Math类主要用于数学的相关运算。除了以下列出的常用方法外,还有对角度进行处理的方法,例如sin、cos等三角函数,将弧度化为角度,将角度化为弧度的方法——toDegrees()、toRadians(),但对浮点数进行运算时会存在不精确有近似的问题。public class MathTest { public static void main(String[] args) { System.out.println(Math.random()); // [0,1)

2020-05-15 10:18:08 206

原创 (JavaSE 学习记录) Calendar日历类、日历表的打印

Galendar类Galendar类为抽象类,通常使用其子类GregorianCalendar类来实现,其主要用来对日期进行相关展示和计算。对象的创建初始化:可直接通过构造器输入年月日、时分秒或调用setTime()方法丢入Date类对象来创建。Calendar calendar = new GregorianCalendar(2000,12,9,6,20,24);calendar.setTime(new Date());//Date类转化为日历类Date date = calendar.getT

2020-05-14 07:50:49 363

原创 (JavaSE 学习记录) Date类、DateFormat类

Date类Date类的对象表示一个时间的瞬间,精确到毫秒,1s==1000ms。常用方法: Date d1 = new Date();//现在的时间 System.out.println(d1); Date d2 = new Date(0);//Thu Jan 01 08:00:00 CST 1970 System.out.println(d2); long d = new Date().getTime();//返回的是距

2020-05-13 12:07:03 128

原创 (JavaSE 学习记录) StringBuilder和StringBuffer

StringBuilder和StringBufferStringBuilder、StringBuffer二者相似,与String相对,二者为可变字符序列,StringBuilder线程不安全,效率高,而StringBuffer线程安全,效率较低。通常使用StringBuilder。常用方法:append() 为该字符序列添加字符序列insert() 在指定索引处插入字符序列toString() 返回一个String对象delete() 删除一段序列,前闭后开deleteCharAt() 删除索

2020-05-13 09:35:19 141

原创 (JavaSE 学习记录)String类及其常用方法、常量池的简单分析

String类String类对象一旦被初始化,就不可被改变了

2020-05-12 10:52:58 153

原创 (javaSE 学习记录)包装类、自动装箱拆箱、包装类的缓存

包装类Java中基本数据类型不是对象,但有时根据需求需要将其转换为对象并对其操作,这时就需要用到包装类。例如:将基本数据类型存储到Object[]中的操作。基本数据类型包装类intIntegerlongLongdoubleDoublefloatFloatbyteByteshortShortcharCharacterbooleanBoolean包装类的使用JDK1.5后引入了自动装箱拆箱,详见下面代码。 Intege

2020-05-10 19:48:10 131

原创 (JavaSE 学习记录) 数组的冒泡排序与二分法查找

冒泡排序基本思想:通过逐个比较相邻元素,根据结果交换二者值。优化之处:由于可能在排序的过程中已经完成了排序,所以可在每次结束一轮排序时进行判断是否需要继续比较排序。public static int[] sortt(int[] arr){ boolean flag; for (int i =0;i<arr.length-1;i++){ flag = true; for (int j =0;j<arr.lengt

2020-05-09 08:12:17 124

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除