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集合类基本概念 在编程中,常常需要集中存放多个数据.从传统意义上讲,数组是我们的 ...
随机推荐
- javascript:控制一个元素高度始终等于浏览器高度
window.onresize = function(){ this.opHtight()} //给浏览器添加窗口大小改变事件window.onresize = function(){ this.op ...
- csredis base usage
Basic usage Whenever possible, server responses are mapped to the appropriate CLR type. using (var r ...
- Spark安装过程纪录
1 Scala安装 1.1 master 机器 修改 scala 目录所属用户和用户组. sudo chown -R hadoop:hadoop scala 修改环境变量文件 .bashrc , 添加 ...
- Structs复习 Action
引入jar包 web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app version= ...
- Android签名
参考文档:http://blog.csdn.net/u010316858/article/details/53159678 http://www.cnblogs.com/wanqieddy/p/355 ...
- C++学习一explicit
explicit关键字 C++中的关键字explicit主要是用来修饰类的构造函数,被修饰的构造函数的类,不能发生相应的隐式类型转换,只能以显示的方式进行类型转换.类构造函数默认情况下声明为隐式的即i ...
- 学JS的心路历程-函式(二)arguments
参数(argument)与函式参数(parameter) 在讨论函式时,很多人都会把这两个搞混,我自己也不例外. 虽然讲错别人也听得懂,但是我们还是要搞清楚这两个的定义到底是什么! 参数是当我们呼叫函 ...
- Oracle11g服务详细介绍
Oracle11g服务详细介绍及哪些服务是必须开启的? Oracle ORCL VSS Writer Service Oracle卷映射拷贝写入服务,VSS(Volume Shadow Copy Se ...
- pandas 读取大文件 read_table C-engine CParserError: Error tokenizing data
解决办法: pd_data = pd.read_table(comment_file,header=None,encoding='utf-8', engine='python') 官网解析: engi ...
- depth: working copy\infinity\immediates\files\empty
depth: working copy\infinity\immediates\files\empty 有时间,需要整理下,svn 合并深度这四项:具体的意思.