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集合类基本概念 在编程中,常常需要集中存放多个数据.从传统意义上讲,数组是我们的 ...
随机推荐
- SQL 数据库开发一些精典的代码(转永南)
1.按姓氏笔画排序: Select * From TableName Order By CustomerName Collate Chinese_PRC_Stroke_ci_as 2.数据库加密: s ...
- Lazarus中Windows单元问题
在程序中加入Windows 单元后,经常会使一些过程和函数莫名其妙的报错,这是因为Windows单元很多函数,过程 与sysutils 单元重名 ,所以一般要把windows 引用放在 sysutil ...
- [原创]HTML 用div模拟select下拉框
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML xmlns=" ...
- Constructor构造方法
我们写一个car类,并写一个无参构造方法. public class Car { int speed; //构造方法名字和 类一致 区分大小写 不需要写返回值 和参数列表 public Car(){ ...
- Structs复习 通配符
1.jar包 web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app version= ...
- python第三步骤(pygame)
1:先安装homebrew(类似于yum /apt-get为什么需要它呢,因为pip安装的时候需要很多的包的依赖,sdl什么的), 2:pip 安装pygame 我讨厌的环境变量问题 然后 通过的是 ...
- C++ VC实现对话框窗口任意分割
最近写MFC的程序,想在对话框里实现窗口的任意分割.现在网络资料一大抄,找个东西实在麻烦.总算这个很简单,很快就搞定了,写下来做个笔记. 个人认为简单问题最好就是直接贴源代码,一看就明白,说来说 ...
- [转载]FMS Dev Guide学习笔记(验证客户端二)
一.开发交互式的媒体应用程序 1.使用unique key a. 在客户端ActionScript中创建一个unique key,如下代码所示,unique key的组成为本地电脑时间和一个随机数连接 ...
- hibernate 工作原理及为什么要用
- 吴裕雄 python 机器学习-DMT(1)
import numpy as np import operator as op from math import log def createDataSet(): dataSet = [[1, 1, ...