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)常用操作例子(适合初学者)的更多相关文章

  1. 走进Java Map家族 (1) - HashMap实现原理分析

    在Java世界里,有一个古老而神秘的家族——Map.从底层架构到上层应用,他们活跃于世界的每一个角落.但是,每次出现时,他们都戴着一张冷硬的面具(接口),深深隐藏着自己的内心.所有人都认识他们,却并非 ...

  2. Java实例 Part4:数组及其常用操作

    目录 Part4:数组及其常用操作 Example01:将二维数组的行列交换 Example02:使用选择排序法对数组进行排序 Example03:使用冒泡排序法对数组进行排序 Example04:使 ...

  3. Java知识回顾 (16)常用操作的Java示例

    环境设置 Java 实例 – 如何编译一个Java 文件? Java 实例 – Java 如何运行一个编译过的类文件? Java 实例 - 如何执行指定class文件目录(classpath)? Ja ...

  4. JAVA-集合类型List(ArrayList、LinkedList)常用操作例子(基础必备)

    package com.net.xinfang.reflect; import java.util.ArrayList; import java.util.Arrays; import java.ut ...

  5. python笔记2-数据类型:字符串常用操作

    这次主要介绍字符串常用操作方法及例子 1.python字符串 在python中声明一个字符串,通常有三种方法:在它的两边加上单引号.双引号或者三引号,如下: name = 'hello' name1 ...

  6. Java中对List集合的常用操作

    目录: list中添加,获取,删除元素: list中是否包含某个元素: list中根据索引将元素数值改变(替换): list中查看(判断)元素的索引: 根据元素索引位置进行的判断: 利用list中索引 ...

  7. Java中对List集合的常用操作(转)

    list中添加,获取,删除元素: list中是否包含某个元素: list中根据索引将元素数值改变(替换): list中查看(判断)元素的索引: 根据元素索引位置进行的判断: 利用list中索引位置重新 ...

  8. Java中对List集合的常用操作(转载)

    目录: list中添加,获取,删除元素: list中是否包含某个元素: list中根据索引将元素数值改变(替换): list中查看(判断)元素的索引: 根据元素索引位置进行的判断: 利用list中索引 ...

  9. Java 字符串(二)字符串常用操作

    一.连接字符串 1.连接多个字符串 使用“+”运算符可以实现连接多个字符串的功能.“+” 运算符可以连接多个运算符并产生一个 String 对象. 2.连接其他数据类型 字符串与其他基本数据类型进行连 ...

随机推荐

  1. [NOIP2017] 宝藏 【树形DP】【状压DP】

    题目分析: 这个做法不是最优的,想找最优解请关闭这篇博客. 首先容易想到用$f[i][S][j]$表示点$i$为根,考虑$S$这些点,$i$的深度为$j$情况的答案. 转移如下: $f[i][S][j ...

  2. 异步、+回调机制、线程queue、线程Event、协程、单线程实现遇到IO切换

    # from concurrent.futures import ProcessPoolExecutor,ThreadPoolExecutor # import requests # import o ...

  3. 我的SSH框架实例(附源码)

    整理一下从前写的SSH框架的例子,供新人学习,使用到了注解的方式. 源码和数据库文件在百度网盘:http://pan.baidu.com/s/1hsH3Hh6 提取码:br27 对新同学的建议:最好的 ...

  4. 爬虫_腾讯招聘(xpath)

    和昨天一样的工作量,时间只用了一半,但还是效率有点低了,因为要把两个网页结合起来,所以在列表操作上用了好多时间 import requests from lxml import etree heade ...

  5. zabbix 常用监控模板

    以下为常用的服务监控,可直接通过zabbix的导入功能导入,做基本修改就可以使用nginx监控模板 <?xml version="1.0" encoding="UT ...

  6. html标题、段落、换行与字符实体

    通过 <h1>.<h2>.<h3>.<h4>.<h5>.<h6>,标签可以在网页上定义6种级别的标题.6种级别的标题表示文档的6 ...

  7. 小程序-camera

    camera 使用这个组件使用手机的拍摄功能.实现如下操作 打开拍摄画面,在手机上半屏显示拍摄取景,下面有一个拍摄按钮.点击后,取景器位置显示拍摄画面,下面显示确定取消按钮. 确定后,下方的预览图片列 ...

  8. 2017蓝桥杯 省赛D题(方格分割)

    6x6的方格,沿着格子的边线剪开成两部分.要求这两部分的形状完全相同. 如图:p1.png, p2.png, p3.png 就是可行的分割法.    试计算:包括这3种分法在内,一共有多少种不同的分割 ...

  9. nginx thinkphp只能访问首页

    代码部署到了服务器上,发现无论怎样请求,都是跳转到index/index/index(模块/控制器/方法),最后需要nginx重新地址即可 参考:Linux下Nginx部署Thinkphp5访问任何地 ...

  10. spring中的@Bean是否一定要与@Configuration一起用

        版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/little_newBee/article/details/80383691 在使用sprin ...