java实现简单map

 1 package StudyMap;
 2
 3 /**
 4  * 实现简单的map
 5  * 效率低
 6  */
 7 import javax.crypto.interfaces.PBEKey;
 8
 9 public class StudyMap {
10     keyAssignments[] arry = new keyAssignments[100];
11     private int size;
12
13     // put()
14     public void put( Object key,Object value ) {
15         keyAssignments temp = new keyAssignments( key,value);
16         arry[size] = temp;
17         size++;
18     }
19
20     // get() 根据key返回对应的value
21     public Object get( Object key ) {
22         for ( int i = 0; i < size; i++) {
23             if ( arry[i].key.equals( key)) {
24                 return ( Object) arry[i].value;
25             }
26         }
27         return null;
28     }
29
30     // size()
31     public Object size() {
32         return ( Object) size;
33     }
34
35     // forEach()
36     public void forEach() {
37         for ( int i = 0; i < size; i++) {
38             System.out.println( arry[i].key + ":" + arry[i].value);
39         }
40     }
41
42     // 简单的remove方法
43     public void remove( Object key ) {
44         for ( int i = 0; i < size; i++) {
45             if ( arry[i].key.equals( key)) {
46                 arry[i].value = null;
47                 arry[i].key = null;
48             }
49
50         }
51     }
52
53     public static void main( String[] args ) {
54         StudyMap eMap = new StudyMap();
55         eMap.put( "妞妞","端午");
56         eMap.put( "过儿","姑姑");
57         eMap.put( 111,222);
58         System.out.println( eMap.get( "妞妞"));
59         System.out.println( eMap.get( 111));
60         System.out.println( eMap.size());
61         eMap.forEach();
62         eMap.remove( "妞妞");
63         eMap.forEach();
64
65     }
66 }
67
68 class keyAssignments {
69     Object key;
70     Object value;
71
72     public keyAssignments( Object key,Object value ) {
73         super();
74         this.key = key;
75         this.value = value;
76     }
77 }
时间: 2024-10-13 16:49:28

java实现简单map的相关文章

[Java] 多个Map的性能比较(TreeMap、HashMap、ConcurrentSkipListMap)

比较Java原生的 3种Map的效率. 1.  TreeMap 2.  HashMap 3.  ConcurrentSkipListMap 结果: 模拟150W以内海量数据的插入和查找,通过增加和查找两方面的性能测试,结果如下: Map类型 插入 查找(在100W数据量中)   10W 50W 100W 150W 0-1W 0-25W 0-50W Concurrent SkipListMap 62 ms 227 ms 433 ms 689ms 7 ms 80 ms 119 ms HashMap

Java中的Map List Set等集合类

Map List Set等集合类: 一.概述 在JAVA的util包中有两个所有集合的父接口Collection和Map,它们的父子关系: +Collection 这个接口extends自 --java.lang.Iterable接口 ├+List(接口 代表有序,可重复的集合.列表) │├ ArreyList     (Class 数组,随机访问,没有同步,线程不安全) │├ Vector        (Class  数组                   同步        线程全) │

java并发容器(Map、List、BlockingQueue)

转发: 大海巨浪 Java库本身就有多种线程安全的容器和同步工具,其中同步容器包括两部分:一个是Vector和Hashtable.另外还有JDK1.2中加入的同步包装类,这些类都是由Collections.synchronizedXXX工厂方法.同步容器都是线程安全的,但是对于复合操作,缺有些缺点: ① 迭代:在查觉到容器在迭代开始以后被修改,会抛出一个未检查异常ConcurrentModificationException,为了避免这个异常,需要在迭代期间,持有一个容器锁.但是锁的缺点也很明显

java反射简单实现注入

做了好久的java开发 ,却一直没有详细了解java反射机制,后来写项目的时候发现用反射可以少写好多无聊的代码,因此用java反射简单实现注入. java反射的具体细节可参见 这篇博客写的非常详细,点此进入~ 而一般基于业务的编程主要用反射实现将属性动态的注入一个对象中. 以下是方法实现: 1 /** 2 * 根据 传入的map与类名,通过反射实例化对象 3 * @param className 需要实例化的类名 4 * @param map 包含属性的键值对 (String,Object) 5

写了一个Java的简单缓存模型

缓存操作接口 /** * 缓存操作接口 * * @author xiudong * * @param <T> */ public interface Cache<T> { /** * 刷新缓存数据 * * @param key 缓存key * @param target 新数据 */ void refresh(String key, T target); /** * 获取缓存 * * @param key 缓存key * @return 缓存数据 */ T getCache(Str

java 生成简单word(利用Itext工具),生成简单Excel,以及下载笔记

1.java 生成简单word(包含图片表格) pom中加入itext 相关依赖 <dependency> <groupId>com.lowagie</groupId> <artifactId>itext</artifactId> <version>2.1.7</version> </dependency> <dependency> <groupId>com.lowagie</gr

JAVA中关于Map的九大问题

通常来说,Map是一个由键值对组成的数据结构,且在集合中每个键是唯一的.下面就以K和V来代表键和值,来说明一下java中关于Map的九大问题. 0.将Map转换为List类型 在java中Map接口提供了三种集合获取方式:Key set,,value set, and key-value set..它们都可以通过构造方法或者addAll()方法来转换为List类型.下面代码就说明了如何从Map中构造ArrayList: // key listList keyList = new ArrayLis

【Java心得总结七】Java容器下——Map

我将容器类库自己平时编程及看书的感受总结成了三篇博文,前两篇分别是:[Java心得总结五]Java容器上——容器初探和[Java心得总结六]Java容器中——Collection,第一篇从宏观整体的角度对Java中强大的容器类库做了一个简单总结而第二篇专门针对容器类库中的Collection部分进行了总结.这篇博文将对容器类库中的Map部分进行一个整理总结. 一.初识Map Map:一组成对的“键值对”对象,允许你使用键来查找值.(注:Map其实是将键与值形成的二元组按照一维线性的方式组织起来,

Java中Set Map List 的区别

java中set map list的区别: 都是集合接口 简要说明 set --其中的值不允许重复,无序的数据结构 list   --其中的值允许重复,因为其为有序的数据结构 map--成对的数据结构,健值必须具有唯一性(键不能同,否则值替换) List按对象进入的顺序保存对象,不做排序或编辑操作.Set对每个对象只接受一次,并使用自己内部的排序方法(通常,你只关心某个元素是否属于Set,而不关心它的顺序--否则应该使用List).Map同样对每个元素保存一份,但这是基于"键"的,Ma