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("******************");
}
}
31-java中知识总结:list, set, map, stack, queue的更多相关文章
- Java中的集合(十四) Map的实现类LinkedHashMap
Java中的集合(十四) Map的实现类LinkedHashMap 一.LinkedHashMap的简介 LinkedHashMap是Map接口的实现类,继承了HashMap,它通过重写父类相关的方法 ...
- Java中的集合(十三) 实现Map接口的Hashtable
Java中的集合(十三) 实现Map接口的Hashtable 一.Hashtable简介 和HashMap一样,Hashtable采用“拉链法”实现一个哈希表,它存储的内容是键值对(key-value ...
- Java中的集合(十一) 实现Map接口的TreeMap
Java中的集合(十一) 实现Map接口的TreeMap 一.TreeMap简介(基于JDK1.8) TreeMap是基于红黑树数据结构,是一个key-value的有序集合,该映射根据其键的自然顺序进 ...
- 基础知识《六》---Java集合类: Set、List、Map、Queue使用场景梳理
本文转载自LittleHann 相关学习资料 http://files.cnblogs.com/LittleHann/java%E9%9B%86%E5%90%88%E6%8E%92%E5%BA%8F% ...
- JAVA中写时复制(Copy-On-Write)Map实现
1,什么是写时复制(Copy-On-Write)容器? 写时复制是指:在并发访问的情景下,当需要修改JAVA中Containers的元素时,不直接修改该容器,而是先复制一份副本,在副本上进行修改.修改 ...
- java中 json和bean list map之间的互相转换总结
JSON 与 对象 .集合 之间的转换 JSON字符串和java对象的互转[json-lib] 在开发过程中,经常需要和别的系统交换数据,数据交换的格式有XML.JSON等,JSON作为一个轻量级 ...
- Java中的集合(Set,List,Map)
******************collections类总结*************************** JAVA集合主要分为三种类型: Set(集) List(列表) ...
- 2018.3.31 java中的递归
java中的递归 1.概念 定义一个方法时,出现本方法调用本方法的过程,称之为递归 2.特点 必然有一个边界条件 使用递归代码往往更简洁,可读性强 3.什么时候使用递归 n的阶乘和n的累加定义 f(n ...
- Java集合类: Set、List、Map、Queue使用场景梳理
本文主要关注Java编程中涉及到的各种集合类,以及它们的使用场景 相关学习资料 http://files.cnblogs.com/LittleHann/java%E9%9B%86%E5%90%88%E ...
- Java集合类: Set、List、Map、Queue使用
目录 1. Java集合类基本概念 2. Java集合类架构层次关系 3. Java集合类的应用场景代码 1. Java集合类基本概念 在编程中,常常需要集中存放多个数据.从传统意义上讲,数组是我们的 ...
随机推荐
- 尚硅谷springboot学习12-profile
一个项目对应不同的环境可以会有不同的配置,如开发,测试,生产环境使用不同的端口,这时可以设置profile变换不同的环境 通过spring.profiles.active切换环境 1.多Profile ...
- C语言复习: 二级指针和多级指针
二级指针内存模型建立 void main2() { int i = 0; //指针数组 char * p1[] = { "123", "456 ...
- [CI]CodeIgniter应用配置明细
---------------------------------------------------------------------------------------------------- ...
- Hibernate 再接触 树状结构设计以及学生课程成绩表的设计
1 树状结构的设计 package com.bjsxt.hibernate; import java.util.HashSet; import java.util.Set; import javax. ...
- 如何设置java环境变量
以安装目录是E:\Program Files\Java\jDK1.7.0为例:
- C# 图像处理: 获取当前活动窗口句柄,获取窗口大小及位置
需调用API函数 需在开头引入命名空间 using System.Runtime.InteropServices; 获取当前窗口句柄:GetForegroundWindow() [DllImport( ...
- SQL调用C# dll(第二中DLL,强名称密匙)
参考:微软官网 https://msdn.microsoft.com/zh-cn/library/ms345106(es-es).aspx 1.新建项目 SQLDllTestUsingNew Clas ...
- asyncio的核心概念与基本架构
https://blog.csdn.net/qq_27825451/article/details/86218230 虽然有部分运行错误,但是还是有参考价值.
- git---远程仓库版本回滚
开发中,发现有错误版本提交带远程分支master,怎么处理? 1 简介 最近在使用git时遇到了远程分支需要版本回滚的情况,于是做了一下研究,写下这篇博客. 2 问题 如果提交了一个错误的版本,怎么回 ...
- HDU 6351 Naive Operations(线段树)
题目: http://acm.hdu.edu.cn/showproblem.php?pid=6315 Naive Operations Time Limit: 6000/3000 MS (Java/O ...