Map的底层实现
2016-04-06 23:00
309 查看
package com.scxh.ex12testMap.myEntry;
public class MyEntry {
private Object key;
private Object value;
public Object getKey() {
return key;
}
public void setKey(Object key) {
this.key = key;
}
public Object getValue() {
return value;
}
public void setValue(Object value) {
this.value = value;
}
}
package com.scxh.ex12testMap.myEntry;
public class MyMap {
private MyEntry[] entry;
private int size;//元素的个数
MyMap(){
entry=new MyEntry[10];
}
public void put(Object key,Object value){
boolean flag=false;
for(int i=0;i<size;i++){ //遍历
MyEntry myEntry=entry[i]; //
if(key.equals(myEntry.getKey())){//如果数组中存在相同的key
flag=true; //令flag等于true
entry[i].setValue(value); //令该位置处的值为传入的值(覆盖)ֵ
break;
}
}
if(!flag){ //如果flag为false,就令节点数组的size下标处的key和value
MyEntry my=new MyEntry(); //值为传入的key和value,并令size++
my.setKey(key);
my.setValue(value);
entry[size]=my;
size++;
}
}
public int size(){
return size;
}
public MyEntry get(int index){
return entry[index];
}
public static void main(String[] args) {
MyMap map=new MyMap();
map.put("1", "11");
map.put("2", "22");
map.put("3", "33");
map.put("4", "44");
map.put("4", "55");
for(int i=0;i<map.size();i++){
MyEntry entry=map.get(i);
System.out.println(entry.getKey()+"---"
bc28
+entry.getValue());
}
}
}
相关文章推荐
- Ubuntu14安装pcl点云库
- 如何自定View
- 多点定位方法的讨论
- phpcms-v9】使用后台的表单向导做前台的留言板功能
- WPF应用程序的介绍
- 七年阿里老人谈新人成长
- Spring之JMS之接受消息
- nyoj 114某种序列《乘,加》
- 复利计算5.0 结对总结
- Linux内核分析——可执行程序的装载
- HashSet与HashMap底层实现
- TCP/IP基础(四)
- STL笔记(7)——Traits编程技法(二)
- 【计算几何入门】poj 1269
- 备份恢复类 面试题
- RTNETLINK answers: File exists错误解决方法
- virtualenv 下安装caffe教程
- 简述UIDatePicker的用法
- 复利计算--结对
- 0406结对编程