ArrayList

  1. 所属的包java.util
  2. 构建对象 无参数构造方法 带默认空间的构造方法 带colletion参数的构造方法
  3. 常用方法

      1. package test;
      2. import java.util.ArrayList;
      3. public class Test {
      4. public static void main(String[] args) {
      5. ArrayList<String> arr = new ArrayList<String>();
      6. ArrayList<String> arr1 = new ArrayList<String>();
      7. arr.add("a");
      8. arr.addAll(arr1);
      9. arr.addAll(2,arr1);
      10. arr.removeAll(arr1); // 从arr集合中删除arr1的元素 差集
      11. arr.retainAll(arr1); // 找arr和arr1中都有的元素 交集
      12. arr.get(0); // 获取元素
      13. arr.size(); // 获取长度
      14. arr.remove(0); // 删除元素
      15. arr.remove("a"); // 删除a元素
      16. arr.clear(); // 清楚全部元素
      17. arr.contains("a"); // 查看源是否存在
      18. arr.indexOf("a"); // 查找元素所在的位置
      19. arr.lastIndexOf("a"); //查找元素所在的位置
      20. arr.isEmpty(); // 集合是否为空
      21. arr.set(1,"a"); // 修改元素
      22. arr.toArray(); // 集合变数组
      23. arr.trimToSize(); // 变成有效个数的长度
      24. }
      25. }

      Vector

  4. java.util包

  5. 是ArrayList的早期版本
  6. Vector底层也是利用数组的形式存储
  7. Vector的线程是同步的安全性高
  8. 扩容方法与ArrayList不同 默认是扩容两倍 ```java package test; import java.util.Vector;

public class Test { public static void main(String[] args) { Vector v = new Vector(); v.add(“a”); // 其他方法与ArrayList几乎一致 } }

  1. <a name="jsCQR"></a>
  2. ## Stack类 栈
  3. 1. **java.util**
  4. 1. **构造方法只有一个无参数的**
  5. 1. **几个特殊的方法**
  6. ```java
  7. package test;
  8. import java.util.Stack;
  9. public class Test {
  10. public static void main(String[] args) {
  11. Stack<String> s = new Stack<String>();
  12. s.push("a"); // 入栈
  13. String a = s.pop(); // 出栈
  14. s.empty(); // 栈是否为空
  15. s.search("a"); // 找到所在的位置
  16. System.out.println(a);
  17. }
  18. }

Queue接口

  1. java.util 常用子LinkedList ArrayDeque
  2. 通过无参数构造方法创建
  3. 一般方法
    1. add
    2. element
    3. remove
    4. offer
    5. peek
    6. poll


LinkedList类

  1. java.util
  2. 底层使用双向链表的数据结构来存储 适合插入删除
  3. 构建对象
    1. 无参数的构造方法
    2. 有参数的构造方法
  4. 常用的方法

    1. 看手册跟ArrayList几乎一样

      HashSet类

  5. java.util

  6. 创建对象, 有参数 无参数
  7. 集合容器的基本使用
    1. add();增
    2. remove(); 删
    3. iterator() ;迭代器
    4. size(); 个数
  8. 无重复的原则

    1. 使用equals和hashCode两个方法来比较,这两个方法返回一个表示set相等
    2. set集合发现是重复的元素 拒绝进入 存储的是第一个
      1. package test;
      2. import java.util.*;
      3. public class Test {
      4. public static void main(String[] args) {
      5. HashSet<String> set = new HashSet<String>();
      6. set.add("aaa");
      7. set.add("bbb");
      8. set.add("ccc");
      9. Iterator<String> it = set.iterator();
      10. while(it.hasNext()){
      11. System.out.println(it.next());
      12. }
      13. }
      14. }

      TreeSet类

  9. java.util

  10. 无参数构造方法 有参数构造方法
  11. 常用方法
    1. add
    2. iterator
    3. remove
    4. size
    5. …..
  12. 无重复的规则
    1. 不能随意存储,需要自己实现Comparable接口

      Map

      映射 通过某个key找value值

      HasMap

      ```java package test;

import java.util.*;

public class Test { public static void main(String[] args) { HashMap m = new HashMap(); m.put(1, “aaa”); m.put(3, “aaa”); m.put(4, “aaa”); // 增 m.put(5, “aaa”); m.remove(5); // 删 m.remove(4, “aaa”); m.replace(1, “1111”); // 改 System.out.println(m.containsKey(10)); // 集合中是否包含10的key System.out.println(m.get(1)); // 查 System.out.println(m); System.out.println(m.size()); m.getOrDefault(1,”100”); // 查看是否有1的key,如果没有就是用100 m.putIfAbsent(1,”11”); // 如果1存在就不往map里面存 m.clear(); // 清空集合 // 遍历 Set keys = m.keySet(); Iterator it = keys.iterator(); while (it.hasNext()) { Integer key = it.next(); System.out.println(m.get(key)); } } } ```

TreeMap

用法跟上面一样