模拟java 中map的功能封装一个有序的map

map模型:

/**
 * Project Name:psim
 * File Name:MapModel.java
 * Package Name:com.psim.bean
 * Date:2014年5月16日下午12:35:37
 * Copyright (c) 2014, [email protected] All Rights Reserved.
 *
 */

package com.psim.bean;

/**
 * ClassName:MapModel <br/>
 * Function: map模型 <br/>
 * Reason: TODO ADD REASON. <br/>
 * Date: 2014年5月16日 下午12:35:37 <br/>
 * 
 * @author Administrator
 * @version
 * @since JDK 1.6
 * @see
 */
public class MapModel<K,V> {
	
	private K key;
	private V value;
	
	public MapModel(K key,V value){
		this.key = key;
		this.value = value;
	}

	public K getKey() {
		return key;
	}

	public void setKey(K key) {
		this.key = key;
	}

	public V getValue() {
		return value;
	}

	public void setValue(V value) {
		this.value = value;
	}
}

 模拟Map的工具类,

/**
 * Project Name:psim
 * File Name:MapModelLink.java
 * Package Name:com.psim.bean
 * Date:2014年5月16日下午1:07:07
 * Copyright (c) 2014, [email protected] All Rights Reserved.
 *
*/

package com.psim.bean;

import java.util.ArrayList;
import java.util.List;

/**
 * ClassName:MapModelLink <br/>
 * Function: 自定义Map表,是有序的 <br/>
 * Date:     2014年5月16日 下午1:07:07 <br/>
 * @author   Administrator
 * @since    JDK 1.6
 * @see 	 
 */
public class MapModelLink<K,V> {
	
	private List<MapModel> mapModelList = new ArrayList<MapModel>();
	
	//设值
	public void put(K key,V value){
		mapModelList.add(new MapModel<K,V>(key, value));
	}
	
	//取值
	public V get(K key){
		return null!=this.getMapModel(key)?this.getMapModel(key).getValue():null;
	}
	
	//移除
	public boolean remove(K key){
		MapModel<K,V> mapModel = this.getMapModel(key);
		if (null!=mapModel) {
			return mapModelList.remove(mapModel);
		}else{
			return false;
		}
	}
	
	// 得到长度
	public int size() {
		return mapModelList.size();
	}
	
	//得到对应的模型
	public MapModel<K,V> getMapModel(K key){
		if (mapModelList.size()>0) {
			for (MapModel<K,V> mapModel : mapModelList) {
                 if(mapModel.getKey().equals(key)){
                	 return mapModel;
                 }
			}
		}
		return null;
	}

	public List<MapModel> getMapModelList() {
		return mapModelList;
	}

	
}

  

你可能感兴趣的:(模拟Map,有序Map)