本文目录一览:
- 1、java map 的用法?
- 2、Java中的map是线性结构吗?
- 3、java中的map函数怎么用?
- 4、java中map有几种写法,一般怎样写,有什么区别吗?
- 5、Java中便历Map的几种方法
- 6、java中的map怎么根据key值修改value值?
java map 的用法?
map是个接口
用都是用HasMap等实现Map接口的类
创建:MapString,String map = new HashMapString,String();
插入元素:map.put("1","a");
移除元素: map.remove("1");
清空: map.clear();
具体参照java API
java.uitl.HashMap
Java中的map是线性结构吗?
map不是线性结构,常用的线性结构有:线性表,栈,队列,双队列,数组,串。
数据结构中线性结构指的是数据元素之间存在着“一对一”的线性关系的数据结构。如(a1,a2,a3,.....,an),a1为第一个元素,an为最后一个元素,此集合即为一个线性结构的集合。
而Map 集合是用存储元素对(键值对)来存储元素,每个键映射到一个值,不存在最后一个元素的说法,也没前驱和后继元素,所以是非线性的。
java中的map函数怎么用?
map不是函数,是一个对象
可以
Map
map
=
new
HashMap();创建
Map就是键值对,
map.put("1","123");
map.put("2","234");
map.get("1")//123
map.get("2")//234
java中map有几种写法,一般怎样写,有什么区别吗?
MapString, Object map = new HashMapString, Object();
MapString, Object ma = new HashMap();
简写,就是前面指定泛型,后面就可以省略。
HashMapString, Object m = new HashMap();
HashMapString, Object mm = new HashMapString, Object();
不建议这么写,一般是接口在左,实现类在右,实现依赖倒置原则。
Java中便历Map的几种方法
常见的Map遍历有下面四种方法:
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map.Entry;
public class MapDemo {
public static void main(String[] args) {
// 准备好需要遍历的Map
HashMapString, Integer map = new HashMapString, Integer();
map.put("Tom", 85);
map.put("Jack", 97);
test1(map);
test2(map);
test3(map);
test4(map);
}
// 方法一: 迭代器方式
// 特点: 效率高,速度快,但是代码量多
public static void test1(HashMapString, Integer map) {
IteratorEntryString, Integer it = map.entrySet().iterator();
while (it.hasNext()) {
EntryString, Integer e = it.next();
System.out.println("name:" + e.getKey() + "\tscore:" + e.getValue());
}
}
// 方法二: map.entrySet() for循环
// 特点: 效率也较高,速度较快,且写法比方法一简单
public static void test2(HashMapString, Integer map) {
for (EntryString, Integer e : map.entrySet()) {
System.out.println("name:" + e.getKey() + "\tscore:" + e.getValue());
}
}
// 方法3 map.keySet for循环
// 特点:效率较慢
public static void test3(HashMapString, Integer map) {
for (String key : map.keySet()) {
System.out.println("name:" + key + "\tscore:" + map.get(key));
}
}
// 方法四: forEach
// 特点 速度较慢,但是代码少,简洁; (需要Java8或以上版本的支持)
public static void test4(HashMapString, Integer map) {
map.forEach((k, v) - System.out.println("name:" + k + "\tscore:" + v));
}
}
四种方法之间的效率比较
(test1≈test2)(test3≈test4)
推荐: 数据量特别大的时候 使用方法1 : 代码长,但是效率高
数据量较少的, 那么使用方法4: 代码简洁而优雅~
java中的map怎么根据key值修改value值?
java:Map param = new HashMap();
param.put("a","3333");
System.out.println(param.get("a")); //3333
if(param.containsKey("a")){
param.put("a", "565");}
System.out.println(param.get("a"));//565
map存值就类似于往一个瓶子中放东西,而key就是标签,value就是其中放的东西,而取值的时候就相当于取东西,要知道所要取的东西的标签才可以取东西,也就是map.get("key")。
key value根据关键字取值
如果辅以Real-Time Search Engine(实时搜索引擎)进行复杂条件检索、全文检索,就可以替代并发性能较低的MySQL等关系型数据库,达到高并发、高性能,节省几十倍服务器数 量的目的。以MemcacheDB、Tokyo Tyrant为代表的key-value分布式存储,在上万并发连接下,轻松地完成高速查询。而MySQL,在几百个并发连接下,就基本上崩溃了。
以上内容参考:百度百科-Key-Value