`
306963591
  • 浏览: 73406 次
  • 性别: Icon_minigender_1
  • 来自: 安徽省
社区版块
存档分类
最新评论

Java 集合 Stack、Queue、Map插入、移除和遍历

    博客分类:
  • java
 
阅读更多

1、Stack 操作

  // Stack 类表示后进先出(LIFO)的对象堆栈
		Stack<String> stack = new Stack<String>();
		// 把数据项压入堆栈顶部
		stack.push("a");
		stack.push("b");
		stack.push("c");

		// peek() 查看堆栈顶部的对象,但不从堆栈中移除它
		System.out.println(stack.peek());
		
		System.out.println("-----------------------------");
		
		// 集合方式遍历,元素不会被移除
		for (String s : stack) {
			System.out.println(s);
		}
		
		System.out.println("-----------------------------");
		
		// 栈弹出遍历方式,元素会被移除
		// empty() 测试堆栈是否为空
		while (!stack.empty()) {
			// pop() 移除堆栈顶部的对象,并作为此函数的值返回该对象
			System.out.println(stack.pop());
		}

    结果:

c
-----------------------------
a
b
c
-----------------------------
c
b
a

 

2、Queue 操作

 

  Queue<String> queue = new LinkedBlockingDeque<String>();
		// 将指定的元素插入此队列(如果立即可行且不会违反容量限制),
		// 当使用有容量限制的队列时,此方法通常要优于 add(E),
		// 后者可能无法插入元素,而只是抛出一个异常。
		queue.offer("a");
		queue.offer("b");
		queue.offer("c");

		// 获取但不移除此队列的头;如果此队列为空,则返回 null
		System.out.println(queue.peek());
		
		System.out.println("----------------------");
		
		// 集合方式遍历,元素不会被移除
		for (String s : queue) {
			System.out.println(s);
		}
		
		System.out.println("----------------------");
		
		// 队列方式遍历,元素逐个被移除
		while (!queue.isEmpty()) {
			// 获取并移除此队列的头,如果此队列为空,则返回 null
			System.out.println(queue.poll());
		}

 结果:

a
----------------------
a
b
c
----------------------
a
b
c

 

 3、Map 操作

 

  // 将键映射到值的对象。一个映射不能包含重复的键;每个键最多只能映射到一个值。
		Map<Integer, String> map = new HashMap<Integer, String>();
		map.put(1, "a");
		map.put(2, "b");
		map.put(3, "c");
		
		// 获取键对应的值
		System.out.println("获取map的键为2的值 : " + map.get(2));
		
		System.out.println("-----------------------");
		
		// Entry方式遍历map,简洁
		for (Map.Entry<Integer, String> entry : map.entrySet()) {
			System.out.println("Key : " + entry.getKey() + ", Value : " + entry.getValue());
		}
		
		System.out.println("------------------------");
		
		// 这种遍历方式有点繁琐
		Iterator<Entry<Integer, String>> it = map.entrySet().iterator();
		while (it.hasNext()) {
			Entry<Integer, String> entry = it.next();
			System.out.println("Key : " + entry.getKey() + ", Value : " + entry.getValue());
		}
		
		System.out.println("------------------------");
		
		// Key遍历
		Iterator<Integer> itKey = map.keySet().iterator();
		while (itKey.hasNext()) {
			 System.out.println(itKey.next());
		}
		
		System.out.println("------------------------");

		// Value遍历
		Iterator<String> itValue = map.values().iterator();
		while (itValue.hasNext()) {
			 System.out.println(itValue.next());
		}
		
		System.out.println("------------------------");
		
		// map 移除元素
		// 如果存在一个键的映射关系,则将其从此映射中移除
		System.out.println(map.remove(2));

 结果:

获取map的键为2的值 : b
-----------------------
Key : 1, Value : a
Key : 2, Value : b
Key : 3, Value : c
------------------------
Key : 1, Value : a
Key : 2, Value : b
Key : 3, Value : c
------------------------
1
2
3
------------------------
a
b
c
------------------------
b

 

0
1
分享到:
评论

相关推荐

    Java集合面试问题

    Java集合主要包括两大接口:`Collection` 和 `Map`。 #### Collection接口: - **特点**:它代表一个元素列表,可以包含重复的元素,并且没有固定的顺序。 - **主要实现类**: - **List**:有序集合,允许重复元素...

    数据结构和Java集合框架

    数据结构和Java集合框架是Java编程中至关重要的概念,它们是高效编程和算法设计的基础。在Java中,数据结构指的是组织、存储和管理数据的方式,而集合框架则是一组接口和类,为处理各种数据结构提供了统一的API。 ...

    JAVA中的集合和js中集合

    为了方便遍历集合中的元素,Java集合框架提供了迭代器接口`Iterator`,它定义了遍历集合的基本方法:`hasNext()`判断是否还有下一个元素;`next()`返回集合中的下一个元素;`remove()`移除当前的元素。此外,对于`...

    java集合与映射(牛)

    Java集合框架主要包括两种类型的容器:集合(Collection)和映射(Map)。其中集合用于存储一组不重复的对象,而映射则用于存储键值对。 #### 二、集合(Collection) Java中的集合框架主要包括以下几种类型的集合...

    Java集合知识

    Java集合框架还包含一些高级工具,如`Iterator`用于遍历集合,`Comparator`用于自定义元素排序,以及`Collections`类提供的各种静态方法,用于集合的转换、排序和操作。 在实际编程中,理解并熟练使用Java集合框架...

    java集合框架

    Java集合框架是Java编程语言中一个非常重要的组成部分,它提供了多种数据结构来存储和操作对象集合,主要包括集合(Collection)、列表(List)、集(Set)和映射(Map)。下面将详细阐述Java集合框架中的核心知识点...

    Java集合类的详细介绍

    集合框架主要包括两大接口:`Collection` 和 `Map`。`Collection` 用于存储单个对象的集合,而 `Map` 用于存储键值对映射。 #### 二、Collection接口及其子接口 `Collection` 接口是最基本的容器接口,用于存储...

    超全Java集合框架讲解.md

    ### 超全Java集合框架讲解 #### 集合框架总览 Java集合框架是Java编程语言中处理数据结构的基础。它为开发者提供了一系列高度优化的数据存储与操作方法,使得开发者可以更加专注于业务逻辑而无需担心底层实现细节...

    JavaExamples2快速点击·所有集合源代码

    "JavaExamples2快速点击·所有集合源代码"显然是一份包含与Java集合相关的示例代码的压缩包,旨在帮助开发者更好地理解和运用Java集合框架。下面我们将详细探讨Java集合框架中的主要组件以及它们的应用。 1. **...

    java.util包总结

    类集框架是Java 2的一大亮点,它标准化了处理对象集合的方式,解决了早期Java中如Dictionary、Vector、Stack和Properties等类各自为政的问题。Collection接口作为框架的基础,定义了通用的集合操作,如添加元素、...

    use Java, learn about Data Structures of Java.zip

    Java中的HashMap、TreeMap和LinkedHashMap是常用的Map实现,分别提供不同性能特性和遍历顺序。 8. **Set**:Set接口代表不包含重复元素的集合。HashSet、TreeSet和LinkedHashSet提供了不同的特性,如无序、有序和可...

    2020版Java容器 17 道.pdf

    Java容器在Java编程中起着至关重要的作用,它们是用来存储和管理...以上就是2020版Java容器17道问题的主要内容,这些知识对于理解和高效使用Java集合框架至关重要。持续学习和实践这些概念将有助于提升Java编程能力。

    JAVA类集应用

    Java 类集是 Java 语言的核心组成部分,它提供了一系列的接口和类,用于高效地处理对象、数据和集合。在 Java 中,类集框架(Collection Framework)是编程的基础,它简化了对象存储、检索和操作的过程。这个压缩包...

    Java基础学习18.pdf

    Java集合框架是处理对象数组的重要工具,分为Collection和Map两大类。 Collection接口是单值容器,提供了添加、删除和查找元素的方法。List接口是有序且允许重复的集合,如ArrayList和LinkedList。ArrayList基于...

    区别和联系-list-map-set-vector

    此外,LinkedList 支持额外的操作,如栈(Stack)和队列(Queue)行为。 - **Vector**: Vector 类似于 ArrayList,但它是线程同步的,这意味着多个线程可以安全地访问同一个 Vector 对象。然而,这种同步也会带来...

Global site tag (gtag.js) - Google Analytics