JAVA学习笔记04

来源:互联网 发布:mac怎么还原出厂设置 编辑:程序博客网 时间:2024/05/07 21:34
  • 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的效率比较高;
0 0