java-map复合类型(HashMap-TreeMap)常用操作例子(适合初学者)
package com.net.xinfang.reflect; import java.util.ArrayList;
import java.util.HashMap;
import java.util.Hashtable;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.TreeMap; /***
* map-HashMap/HashTable/TreeMap
*
* @author xinfang
*
*/
public class map006 {
public void map() {
Map<Integer, String> map = new HashMap<Integer, String>();
/***
* TreeMap的entrySet比keySet遍历效率高
*/
Map<String,String> treemap=new TreeMap<String,String>();
Map<String,String> ht=new Hashtable<String,String>();
ht.put(String.valueOf(1),String.valueOf(1));
for(int i=0;i<2;i++){
treemap.put(String.valueOf(i),String.valueOf(i));
}
Iterator<Entry<String,String>> tree=treemap.entrySet().iterator();
while(tree.hasNext()){
System.out.println(tree.next());
}
map.put(0, "0");// 添加key-value
map.put(1, "1");
//循环添加key-value
for(int i=2;i<10;i++){
Integer key=i;
String value=String.valueOf(i);
map.put(key, value);
}
// keyset遍历-泛型-Iterator接口
Iterator<Integer> it = map.keySet().iterator();
while (it.hasNext()) {
System.out.println(it.next());
}
// entrykey遍历-泛型-Iterator接口
Iterator<Entry<Integer, String>> its = map.entrySet().iterator();
while (its.hasNext()) {
System.out.println(its.next().getValue());
}
// 第二种for-entry
for (Map.Entry<Integer, String> entry : map.entrySet()) {
System.out.println("Key = " + entry.getKey() + ", Value = " + entry.getValue());
}
// 遍历map中的键
for (Integer key : map.keySet()) {
System.out.println("Key = " + key);
}
// 遍历map中的值
for (String value : map.values()) {
System.out.println("Value = " + value);
}
System.out.println(map.get(1));// 获取键值为1的值
System.out.println(map.size());// 获取map大小
System.out.println(map.equals(1));// 判断对象的内容是否相同
System.out.println(map.hashCode());// 获取hashcode
System.out.println(map.isEmpty());// 空-true,非空-false
System.out.println(map.remove(1));// 移除键值为1的值
System.out.println(map.values());// 获取值
System.out.println(map.getClass());// 获取类名
System.out.println(map.replace(0, "2"));// 替换键值为0的值为2
System.out.println(map.toString());// 转换为字符串
// map转换为List
List<Integer> keyList = new ArrayList(map.keySet());
List<String> valueList = new ArrayList(map.values());
List<Entry> entryList = new ArrayList(map.entrySet());
// for遍历输出
for (Integer key : keyList) {
System.out.println(key);
}
for (String value : valueList) {
System.out.println(value);
}
for (Entry entry : entryList) {
System.out.println(entry);
}
}
public void searchList(String name) {
LinkedList<String> list = new LinkedList<String>();// 链表对象
list.add("1");// 添加元素
list.add("2");
list.add("3");
list.push(name);// 入栈
list.pop();// 出栈
for (int i = 0; i < list.size(); i++) {
if (name.equals(list.get(i))) {
System.out.println("您要查询的信息存在!" + list.getFirst() + list.getLast());
}
}
if (list.contains(name)) {
System.out.println("您要查询的信息存在!");
}
}
public static void main(String args[]) {
map006 m6 = new map006();
m6.map();
m6.searchList("2");
}
}
java-map复合类型(HashMap-TreeMap)常用操作例子(适合初学者)的更多相关文章
- 走进Java Map家族 (1) - HashMap实现原理分析
在Java世界里,有一个古老而神秘的家族——Map.从底层架构到上层应用,他们活跃于世界的每一个角落.但是,每次出现时,他们都戴着一张冷硬的面具(接口),深深隐藏着自己的内心.所有人都认识他们,却并非 ...
- Java实例 Part4:数组及其常用操作
目录 Part4:数组及其常用操作 Example01:将二维数组的行列交换 Example02:使用选择排序法对数组进行排序 Example03:使用冒泡排序法对数组进行排序 Example04:使 ...
- Java知识回顾 (16)常用操作的Java示例
环境设置 Java 实例 – 如何编译一个Java 文件? Java 实例 – Java 如何运行一个编译过的类文件? Java 实例 - 如何执行指定class文件目录(classpath)? Ja ...
- JAVA-集合类型List(ArrayList、LinkedList)常用操作例子(基础必备)
package com.net.xinfang.reflect; import java.util.ArrayList; import java.util.Arrays; import java.ut ...
- python笔记2-数据类型:字符串常用操作
这次主要介绍字符串常用操作方法及例子 1.python字符串 在python中声明一个字符串,通常有三种方法:在它的两边加上单引号.双引号或者三引号,如下: name = 'hello' name1 ...
- Java中对List集合的常用操作
目录: list中添加,获取,删除元素: list中是否包含某个元素: list中根据索引将元素数值改变(替换): list中查看(判断)元素的索引: 根据元素索引位置进行的判断: 利用list中索引 ...
- Java中对List集合的常用操作(转)
list中添加,获取,删除元素: list中是否包含某个元素: list中根据索引将元素数值改变(替换): list中查看(判断)元素的索引: 根据元素索引位置进行的判断: 利用list中索引位置重新 ...
- Java中对List集合的常用操作(转载)
目录: list中添加,获取,删除元素: list中是否包含某个元素: list中根据索引将元素数值改变(替换): list中查看(判断)元素的索引: 根据元素索引位置进行的判断: 利用list中索引 ...
- Java 字符串(二)字符串常用操作
一.连接字符串 1.连接多个字符串 使用“+”运算符可以实现连接多个字符串的功能.“+” 运算符可以连接多个运算符并产生一个 String 对象. 2.连接其他数据类型 字符串与其他基本数据类型进行连 ...
随机推荐
- BZOJ2434 [NOI2011] 阿狸的打字机 【树链剖分】【线段树】【fail树】【AC自动机】
题目分析: 画一下fail树,就会发现就是x的子树中属于y路径的,把y剖分一下,用线段树处理 $O(n*log^2 n)$. 代码: #include<bits/stdc++.h> usi ...
- UOJ276 [清华集训2016] 汽水 【二分答案】【点分治】【树状数组】
题目分析: 这种乱七八糟的题目一看就是点分治,答案有单调性,所以还可以二分答案. 我们每次二分的时候考虑答案会不会大于等于某个值,注意到系数$k$是无意义的,因为我们可以通过转化使得$k=0$. 合并 ...
- python查找读写文件
import os ''' 跟据文件名称,后缀查找指定文件 path:传入的路径 filename:要查找的文件名 suffix:要查找的文件后缀 return :返回查找的文件路径 ''' file ...
- 网络流24(san)题题解汇总
开坑(烂尾预定 1.餐巾计划问题 题解 2.最小路径覆盖问题 题解 3.试题库问题 题解 4.[CTSC1999]家园 题解 5.骑士共存问题 题解 6.最长不下降子序列问题 题解 7.深海机器人问题 ...
- Ubuntu解压
tar -zxvf FileName.tar.gz tar -jxvf FileName.tar.bz2 unzip FileName.zip sudo dpkg -i 文件名.deb
- 【NOI2003——搜索+二分图匹配优化】
A 文本编辑器 无旋treap真好看 B 木棒游戏 暴力神仙题 C 数据生成器 树的直径两端点为Y, Z D 智破连环阵 搜索+二分图匹配优化 第一次写欸 列一下 void dfs (int y,in ...
- EtherType :以太网类型字段及值
Ethernet II即DIX 2.0:Xerox与DEC.Intel在1982年制定的以太网标准帧格式.Cisco名称为:ARPA Ethernet II类型以太网帧的最小长度为64字节(6+6+2 ...
- POJ 2672 Tarjan + 缩点 + 拓扑思想
Going from u to v or from v to u? Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 17383 ...
- 「2017 山东三轮集训 Day7 解题报告
「2017 山东三轮集训 Day7」Easy 练习一下动态点分 每个点开一个线段树维护子树到它的距离 然后随便查询一下就可以了 注意线段树开大点... Code: #include <cstdi ...
- 【php】php从多个数组中取出最大的值
function _arr_max($arr = []){ if(func_num_args() > 1){ $result = []; foreach(func_get_args() as $ ...