import java.util.ArrayList; import java.util.HashMap; import java.util.HashSet; import java.util.LinkedList; import java.util.List; import java.util.Queue; import java.util.Scanner; import java.util.Stack; import javax.management.Query; public class Main1 { public static Scanner cin = new Scanner(System.in); public static void main(String[] args) { /********************链表**************************/ //定义一个数组链表 List[] v = new ArrayList[20004]; //注意定义的数组链表,要组个new,不然会空指针异常 for(int i = 0; i <= 10; i++) { v[i] = new ArrayList<Integer>(); } //添加元素与输出 v[0].add(2); v[0].add(3); System.out.println(v[0].size() + "; v[0]: " + v[0].toString()); v[0].remove(0); //弹出下标为0 的元素 System.out.println(v[0].size() + "; v[0]: " + v[0].toString()); /*-------------- 结果是: 2; v[0]: [2, 3] 1; v[0]: [3] * */ System.out.println("******************"); /********************队列**************************/ //定义队列 Queue<Integer> mq = new LinkedList<>(); mq.add(2); //添加元素 mq.add(3); System.out.println("mq: " + mq.toString()); int x = mq.peek(); //取队列第一个元素 System.out.println("队列第一个元素:" + x); mq.poll(); //弹出队列第一个元素 System.out.println("弹出后mq: " + mq.toString()); /*-------------- 结果是: mq: [2, 3] 队列第一个元素:2 弹出后mq: [3] * */ System.out.println("******************"); /********************栈**************************/ //定义栈 Stack<Integer> sta = new Stack<>(); sta.push(2); sta.push(3); System.out.println("sta: " + sta.toString()); // int x2 = sta.get(0); int x2 = sta.peek(); //得到栈顶元素 System.out.println("栈顶元素:" + x2); sta.pop(); //弹出栈顶元素 System.out.println("sta: " + sta.toString()); /*-------------- 结果是: sta: [2, 3] 栈顶元素:3 sta: [2] * */ System.out.println("******************"); /********************hashMap**************************/ //hashMap HashMap<Integer, String> map = new HashMap<>(); // 添加键值对 map.put(2, " this is 2"); map.put(3, " this is 3"); System.out.println("map: " + map.toString()); // 用键取值 System.out.println("key = 2 对应的值为:" + map.get(2)); // 得到键的集合 System.out.println(map.keySet()); // 覆盖原来键的值 map.put(2, " new an value"); System.out.println("key = 2 对应的值为:" + map.get(2)); // 查看是否包含每个键 System.out.println("是否包含键为2的键值对:" + map.containsKey(2)); // 删除某个键值对 map.remove(2); System.out.println("map: " + map.toString()); /*-------------- 结果是: map: {2= this is 2, 3= this is 3} key = 2 对应的值为: this is 2 [2, 3] key = 2 对应的值为: new an value 是否包含键为2的键值对:true map: {3= this is 3} * */ System.out.println("******************"); /********************hashSet**************************/ // hashSet HashSet<Integer> set = new HashSet<>(); set.add(2); set.add(3); System.out.println("set: " + set.toString()); // 判断某个元素是否存在 System.out.println("判断是否包含2:" + set.contains(2)); // 删除某个值 set.remove(2); System.out.println("set: " + set.toString()); /*-------------- 结果是: set: [2, 3] 判断是否包含2:true set: [3] * */ System.out.println("******************"); } }