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. 【Gym - 100947G】Square Spiral Search

    BUPT 2017 summer training (for 16) #1C 题意 A new computer scientist is trying to develop a new memory ...

  2. Apache 开启压缩传输

    在 /etc/httpd/conf/httpd.conf 中添加如下配置: # Enable gzip - by Jerryhuang # <IfModule mod_deflate.c> ...

  3. android sqlite boolean 类型

    sql语句中 boolean (bit)类型的字段 ,insert 数据的时候 , 有null ,0 (false),1(true) 三个数可以选择. 例如: insert into pos valu ...

  4. 【转】让浏览器格式化显示JSON数据之chrome jsonView插件安装

    jsonView 用来让Chrome浏览器能格式化的显示JSON数据. 以上是网上找的方式,且试验成功! 步骤: 1.打开 https://github.com : 2.搜索 jsonView 链接: ...

  5. Eclipse Memory Analyzer(MAT)使用

    https://user.qzone.qq.com/731573705/blog/1436389384 Eclipse Memory Analyzer(MAT)使用  一.OutOfMemoryErr ...

  6. [APIO2016]烟火表演

    题目描述 https://www.lydsy.com/JudgeOnline/problem.php?id=4585 题解 这题太神了. 我们可以先列出一个dp方程,dp[x][d]表示x节点到所有叶 ...

  7. 详解vue的数据binding原理

    自从angular火了以后,各种mv*框架喷涌而出,angular虽然比较火,但是他的坑还是蛮多的,还有许多性能问题被人们吐槽.比如坑爹的脏检查机制,数据binding是受人喜爱的,脏检查就有点…性能 ...

  8. Spring -- 自定义转换器

    Spring 定义了 3 种类型的转换器接口,实现任意一个转换器接口都可以作为自定义转换器注册到 ConversionServiceFactoryBean 中: Converter<S,T> ...

  9. 洛谷 P1393 P3157 动态逆序对

    嘛,好久没碰CDQ分治了,做道题练练手. 时间倒流——把删数改为加数. 对于每个被删的,我的想法是拆成询问和add,后来发现一个足矣. 我本来准备对每个删的数都求一遍整体逆序对,后来发现无论如何都不可 ...

  10. react-native中的图片

    静态图片资源 React Native 提供了一个统一的方式来管理 iOS 和 Android 应用中的图片.要往 App 中添加一个静态图片, 只需把图片文件放在代码文件夹中某处,然后像下面这样去引 ...