摘要:
File对象可以表示存在的文件或文件夹,也可以表示不存在的。我们想要得到文件的内容怎么办,File只是操作文件,文件的内容如何处理就需要使用io流技术了。例如在C盘下有一个名称为a.txt的文本文件.想要通过Java程序读出来文件中的内容,需要使用IO流技术.同样想要将程序中的数据,保存到硬盘的文件 阅读全文
摘要:
| Set接口 无序,不可以重复的集合 | HashSet 线程不安全,存取速度快。底层是以hash表实现的。 | TreeSet 红-黑树的数据结构,默认对元素进行自然排序(String)。如果在比较的时候两个对象返回值为0,那么元素重复。 1.HashSet 哈希表边存放的是哈希值。HashSe 阅读全文
摘要:
LinkedList:链表实现, 增删快, 查找慢 由于LinkedList:在内存中的地址不连续,需要让上一个元素记住下一个元素.所以每个元素中保存的有下一个元素的位置.虽然也有角标,但是查找的时候,需要从头往下找,显然是没有数组查找快的.但是,链表在插入新元素的时候,只需要让前一个元素记住新元素 阅读全文
摘要:
ArrayList实现原理: 数组实现, 查找快, 增删慢 数组为什么是查询快?因为数组的内存空间地址是连续的. ArrayList底层维护了一个Object[] 用于存储对象,默认数组的长度是10。可以通过 new ArrayList(20)显式的指定用于存储对象的数组的长度。 当默认的或者指定的 阅读全文
摘要:
IO流(Input Output) : 存储在变量,数组和对象中的数据是暂时的,当程序终止时他们就会丢失.为了能够永久的保存程序中创建的数据,需要将他们存储到硬盘或光盘的文件中.这些文件可以移动,传送,亦可以被其他程序使用.由于数据存储在文件中,所以我们需要学习一个和文件有密切关系的类,叫做File 阅读全文
摘要:
迭代器的作用:就是用于抓取集合中的元素。 迭代器的方法: hasNext() 问是否有元素可遍历。如果有元素可以遍历,返回true,否则返回false 。 next() 获取元素... remove() 移除迭代器最后一次返回 的元素 NoSuchElementException 没有元素的异常。 阅读全文
摘要:
1.1. 什么是集合 存储对象的容器,面向对象语言对事物的体现都是以对象的形式,所以为了方便对多个对象的操作,存储对象,集合是存储对象最常用的一种方式。 集合的出现就是为了持有对象。集合中可以存储任意类型的对象, 而且长度可变。在程序中有可能无法预先知道需要多少个对象, 那么用数组来装对象的话, 长 阅读全文
摘要:
StringBuffer : 由于String是不可变的,频繁修改会导致String对象泛滥,所以需要使用可变的字符串缓冲区类。 StringBuffer对方法加了同步锁或者对调用的方法加了同步锁,所以是线程安全的。看如下源码: StringBuilder并没有对方法进行加同步锁,所以是非线程安全的 阅读全文
摘要:
int length() 获取字符串的长度, char charAt(int index) 获取特定位置的字符 (角标越界), int indexOf(String str) 获取特定字符的位置(overload),查找子串第一次出现的索引值,若没找到则返回-1表示, int lastIndexOf 阅读全文
摘要:
1、String是不可变类。 这句话想必大家已烂熟于心了,究其原因呢?一般以为:对象一旦创建完成是不会因外界的改变而改变 首先看一个简单的例子: 此时看上去,str输出结果变了,那么是否与上面的说法自相矛盾呢?答案是否定的,因为str只是指向堆内存中的引用,存储的是对象在堆中的地址,而非对象本身,s 阅读全文