Java集合框架

1.ArrayList
  容器的容量"capacity"会随着对象的增加,自动增长 
  只需要不断往容器里增加数据,不用担心会出现数组的边界问题  
 ArrayList实现了接口List 
 List heros = new ArrayList();
     //常见的写法会把引用声明为接口List 
    //注意:是java.util.List,而不是java.awt.List
    //接口引用指向子类对象(多态)

     add增加   
     contains判断是否存在  
     get获取指定位置的对象  
     indexOf获取对象所处的位置                         
     remove删除  set替换  size获取大小 
     toArray转换为数组   
     addAll把另一个容器所有对象都加进来     
     clear清除
2.泛型 Generic
     不指定泛型的容器可以放种类不同的元素
     指定泛型的容器只能放这一种类型的元素及其子类

List genericheros = new ArrayList();
List genericheros = new ArrayList()<>;

3.遍历容器的三种循环
  <1>for          
  <2>iterator 迭代器   
  <3>增强for
4.LinkedList 实现了List和Deque(双向链表),Queue接口(队列)
  ArrayList和LinkedList区别:

  ArrayList 顺序结构,查找快,删除插入慢

  LinkedList链表结构,查找慢,删除插入快
6.HashMap 储存数据的方式是—— 键值对,值可以重复键不能重复
7.HashSet 元素无序,严格的说,是没有按照元素的插入顺序排列,不能重复
   Set不提供get()来获取指定位置的元素 
   所以遍历需要用到迭代器,或者增强型for循环                
   HashSet自身并没有独立的实现,而是在里面封装了一个Map.HashSet是作为Map的key而存在的
8.Collection与Collections
  Collection是 Set List Queue和 Deque的接口
  Collections是一个类,容器的工具类,就如同Arrays是数组的工具类
10.HashMap和Hashtable都实现了Map接口,都是键值对保存数据的方式
 HashMap可以存放 null
 Hashtable不能存放null

 HashMap不是[线程安全的类]
 Hashtable是线程安全的类
11.几种set
HashSet: 无序

LinkedHashSet: 按照插入顺序

TreeSet: 从小到大排序

12.比较器

你可能感兴趣的:(Java集合框架)