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. 洛谷P1434滑雪题解及记忆化搜索的基本步骤

    题目 滑雪是一道dp及记忆化搜索的经典题目. 所谓记忆化搜索便是在搜索的过程中边记录边搜索的一个算法. 当下次搜到这里时,便直接使用. 而且记忆化搜索一定要满足无后效性,为什么呢,因为如果不满足无后效 ...

  2. VueCLI3如何更改安装时的包管理器为yarn或npm

    在执行 vue create project 后如果显示如下 npm run serve 则表示你使用的是npm创建的项目. 如果显示如下 yarn serve 则表示此项目为yarn创建. 那如何切 ...

  3. 前端之Android入门(3):MVC模式(上)

    很多Android的入门书籍,在前面介绍完布局后就会逐个介绍组件,然后开始编写组件使用的例子.每每到此时小伙伴们都可能会有些疑问:是否应该先啃完一本<Java编程思想>学点 Java 知识 ...

  4. 外围功能电路控制 LET′S TRY“嵌入式编程”: 4 of 6

    外围功能电路控制 LET′S TRY“嵌入式编程”: 4 of 6 本连载讲解作为嵌入式系统开发技术人员所必需具备的单片机的基础知识. 在<单片机入门(1)-(3)>中,我们一起学习了单片 ...

  5. linux(fedora) 第一课

    1.Linux查看ip地址:ifconfig(interface config) 2.find / -name ifconfig (查找 从/开始找 找名字 匹配ifconfing) 复制命令:Ctr ...

  6. python学习day7 深浅拷贝&文件操作

    4-4 day07 深浅拷贝&文件操作 .get()用法 返回指定键的值,如果值不在字典中返回默认值. info={'k1':'v1,'K2':'v2'}mes = info.get('k1' ...

  7. 用foobar进行码率转换 适用与sacd-r转成低码率

    之前下载了不少高清音频,有黑胶转录的也有母带文件.这些高清音频大都是24bit,采样率96khz或者88.2khz或者更高.而我想将部分精品专辑刻录成cd.首先我需要将这些文件转换为16bit,44. ...

  8. 数组和list互转

    数组转list 方法1: String[] stringArray = { "a", "b", "c", "d", &q ...

  9. vue router获取整条路径参数

    $route.path 当前路由对象的路径,如'/vi$route.query 请求参数,如/foo?user=1获取到query.user = 1$route.router 所属路由器以及所属组件信 ...

  10. 洛谷P3810 陌上花开 CDQ分治(三维偏序)

    好,这是一道三维偏序的模板题 当然没那么简单..... 首先谴责洛谷一下:可怜的陌上花开的题面被无情的消灭了: 这么好听的名字#(滑稽) 那么我们看了题面后就发现:这就是一个三维偏序.只不过ans不加 ...