您的位置:首页 > 编程语言 > Java开发

JAVA学习笔记04

2016-03-23 21:58 267 查看
day11起,day12,day13

eclipse快捷键:

查找类:ctrl+shift +t

查找方法:ctrl + o

StringBuffer是一个线程安全的可变字符序列。

day14

预定义字符类

.代表任意字符

\d代表数字字符,[0-9]

\w 代表单词字符,[a-zA-Z_0-9]

day15

Collection 单列集合的根接口

List:有序(存和取的顺序一致),有索引,可以存储重复的元素;

ArrayList、LinkedList、Vector

Set:无序(存和取的顺序不一致),无索引,不可以存储重复的元素;

HashSet、TreeSet

集合有2种数据结构:

数组:查询块,修改也快,增删慢;

链表:查询慢,修改也慢,增删快。

List下三个子类的特点:

ArrayList:底层数据结构是数组,线程不安全,效率高;

LinkedList:底层数据结构是链表,线程不安全,效率高;

Vector:底层数据结构是数组,线程安全,效率低。

List下3个子类的使用原则:查询多用ArrayList,增删多用LinkedList,如果都多,用ArrayList。

day16

ArrayList中contains和remove方法底层都是依赖equals方法,所以使用前一般要重写equals方法。

集合框架栈和队列数据结构特点:栈是先进后出,队列结构是先进先出。

增强for循环结构:

for(元素数据类型 变量 :数组或collection集合) {
代码;
}


增强for循环不能删除元素

day17

LinkedHashSet底层是链表实现的,是Set集合中唯一能保证有序存取的的集合对象。又因为LinkedHashSet是HashSet的子类,所以也是保证元素唯一的,与HashSet的原理一样。

TreeSet可以对元素对象进行排序,同时也可以保证元素对象唯一。

TreeSet中比较器排序(Comparator接口)特点总结:当TreeSet添加元素的时候,会自动调用Comparator接口中的Compare()方法排序,调用的对象是Compare方法的第一个参数,集合中的对象是Compare方法的第二个参数。

day18

LinkedHashMap底层是链表实现,可以保证怎么存就怎么取。

Collections

List(存取有序,有索引,可以重复)

ArrayList:底层是数组实现的,线程不安全,查找和修改快,增删慢;

LinkedList:底层是链表实现的,线程不安全,增删快,查找和修改慢;

如果查找和修改多,用ArrayList;

如果增和删多,用LinkedList;

如果都多,用ArrayList;

Vector:底层是数组实现的,线程安全,增删和查改都慢;

Set(存取无序,无索引,不可以存储重复元素)

HashSet:底层是Hash算法实现的;

LinkedHashSet:底层是链表实现的,但是也可以保证元素唯一,和HashSet一样;

TreeSet:底层是二叉树算法实现的;

一般在开发的时候,是不需要对元素进行排序的,所以在开发的时候大多用HashSet,HashSet的效率比较高;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java