31-java中知识总结:list, set, map, stack, queue

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("******************");
	}
}

  

猜你喜欢

转载自www.cnblogs.com/zhumengdexiaobai/p/10427640.html