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集合类基本概念 在编程中,常常需要集中存放多个数据.从传统意义上讲,数组是我们的 ...
随机推荐
- jQuery中事情的动态绑定
在jQuery的开发过程中,我们往往需要处理各种事件,例如click(),hover()等.在jQuery的API中,我们可以使用不同的方法来将这些事件绑定到特定的元素中.今天这篇文章中,我们将要介绍 ...
- mysql查找某连续字段中断的编号
查询dj_pxlb表中zwh 空缺的值 select model2.zwh-1 as kqzwh from (select model1.zwh from dj_pxlb as model1 wher ...
- yii Nav:widget 配置参数encodeLabels
echo Nav::widget([ 'options' => ['class' => 'navbar-nav navbar-right'], 'encodeLabels' => f ...
- Makefile编写参考
http://www.ruanyifeng.com/blog/2015/02/make.html
- Java NIO Path
Java NIO Path Creating a Path Instance Creating an Absolute Path Creating a Relative Path Path.norma ...
- 函数putText()在图片上写文字
#include <iostream> #include <opencv2/opencv.hpp> using namespace std; using namespace c ...
- https://www.oschina.net/project/zhlist/326/scripting 开源
1https://www.oschina.net/project/zhlist/326/scripting
- 什么是webFlux
什么是webFlux 左侧是传统的基于Servlet的Spring Web MVC框架,右侧是5.0版本新引入的基于Reactive Streams的Spring WebFlux框架,从上到下依次是R ...
- springboot 集成 redis
导入maven依赖 <!-- springboot整合 redis --> <dependency> <groupId>org.springframework.bo ...
- c# 项目的导入
1.打开 2.手动添加现有项目,对照后找到未添加的空间,然后打开底层 选择 “#”文件打开即可 3.每个空间分别添加隐藏项 注意 bin与obj不需要添加 4.添加引用 5.可能需要删除 li ...