java集合List,Map,Set,Queue使用
Posted hello策
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java集合List,Map,Set,Queue使用相关的知识,希望对你有一定的参考价值。
Collection.一个独立元素的序列,这些元素都服从一条或多条规则。List必须按照插入的顺序保存元素,而Set不能有重复元素。 Map.一组成对的键值对对象,允许使用键来查找值。 有2种类型的List: 基本的ArrayList,长于随机访问元素,但是在List的中间插入和移除元素时较慢。 LinkedList,它通过代价较低在List中间插入和删除操作,提供了优化的顺序访问。LinkedList在随机访问方面相对比较慢。 迭代器Iterator 1、使用方法iterator()要求容器返回一个Iterator.Iterator将准备好返回序列的第一个元素。 2、使用next()获取序列中的下一个元素。 3、使用hashNext()检查序列中是否还有元素。 4、使用remove()将迭代器新近返回的元素删除。 Set:不保存重复的元素。 HashSet:没有排序,使用散列函数。提供最快的查询速度 TreeSet:将元素存储在红-黑树数据结构中,有排序 Map:键值对 HashMap用于快速访问, TreeMap保持键始终处于排序状态。 Stack 栈通常指后进先出的容器(LIFO),LinkedList能够实现栈的所有功能的方法。 Queue:队列(先进先出) public static void testList(){ List<Integer> list = new ArrayList<>(); list.add(1);list.add(2);list.add(3);list.add(4);list.add(5);list.add(6);list.add(7); System.out.println(list.toString()); Iterator it = list.iterator(); while (it.hasNext()){ int i = (Integer) it.next(); System.out.println(i); } System.out.println(list.toString()); it = list.iterator(); for (int i = 0; i < 3; i++) { it.next(); it.remove(); } System.out.println(list.toString()); } public static void testLinkedList(){ LinkedList<Integer> list = new LinkedList<>(); list.add(1);list.add(2);list.add(3);list.add(4);list.add(5);list.add(6);list.add(7); System.out.println(list.toString()); System.out.println("getFirst():"+list.getFirst()); System.out.println("getLast():"+list.getLast()); System.out.println("element():"+list.element()); System.out.println("peek():"+list.peek()); System.out.println("remove():"+list.remove()); System.out.println("removeFirst():"+list.removeFirst()); System.out.println("poll():"+list.poll()); System.out.println(list.toString()); System.out.println(list.pop()); System.out.println(list.toString()); list.addFirst(8); list.offer(9); list.addLast(10); System.out.println(list.toString()); list.push(11); System.out.println(list.toString()); list.pop(); System.out.println(list.toString()); } public static void testMap(){ Map<Integer,String> map = new HashMap<>(); map.put(1,"10");map.put(2,"20");map.put(3,"30");map.put(4,"40"); System.out.println(map.keySet()); // 获取键 System.out.println(map.values()); // 获取值 // keySet for (Integer i : map.keySet()){ // 根据键获取值 System.out.println(i+" "+map.get(i)); } // entrySet Iterator iterator = map.entrySet().iterator(); // 获取key和value的Set while (iterator.hasNext()){ Map.Entry entry = (Map.Entry) iterator.next(); System.out.println(entry.getKey()); System.out.println(entry.getValue()); } // keySet Iterator it = map.keySet().iterator(); while (it.hasNext()){ int key = (int) it.next(); String value = map.get(key); System.out.println(key+" "+value); } } /** * 队列:先进先出 * offer(Object o) * poll() */ public static void testQueue(){ Queue queue = new LinkedList(); queue.offer(1);queue.offer(2);queue.offer(3);queue.offer(4); System.out.println(queue.toString()); System.out.println(queue.poll()); System.out.println(queue.toString()); } /** * 栈:先进后出 * push(Object 0) * pop() */ public static void testStack(){ LinkedList stack = new LinkedList(); stack.push(1 );stack.push(2 );stack.push(3 );stack.push(4 ); System.out.println(stack.toString()); System.out.println(stack.pop()); System.out.println(stack.toString()); }
以上是关于java集合List,Map,Set,Queue使用的主要内容,如果未能解决你的问题,请参考以下文章