自定义写实现java中map中的功能(简易)

package test;
/**
* 通过自定义来实现一个map功能
* 存放键值对,根据键对象找到一个值对象,确保没有重复
*/

import java.util.Map;

public class test01 {
SxtEntry[] arr=new SxtEntry[990];
int size;
//定义函数实现将键值对放入数组
public void put(Object key,Object value){
SxtEntry entry=new SxtEntry(key, value);
//确保键值对的唯一行
for (int i = 0; i < size; i++) {
if (arr[i].key.equals(key)) {
arr[i].value=value;
return;
}
}
arr[size++]=entry;
}
//定义函数实现从数组中取出值
public Object get(Object key){
for (int i = 0; i < size; i++) {
if (arr[i].key.equals(key)) {
return arr[i].value;
}
}
return null;
}
//定义函数判断函数中是否有给出参数的键
public boolean containsKey(Object keyObject){
for (int i = 0; i < size; i++) {
if (arr[i].key.equals(keyObject)) {
return true;
}
}
return false;

}
//定义函数判断函数中是否有给出参数的值
public boolean containsValue(Object valueObject){
for (int i = 0; i < size; i++) {
if (arr[i].value.equals(valueObject)) {
return true;
}
}
return false;

}
//主函数进行测试
public static void main(String[] args) {

test01 entry=new test01();
entry.put("张三",new wife("小红"));
wife w =(wife)entry.get("张三");//强转将object转型成为wife类
System.out.println(w.name);

}

}
//定义存放键值对的类
class SxtEntry{
Object key;
Object value;
public SxtEntry(Object key, Object value) {
super();
this.key = key;
this.value = value;
}
//定义空构造器,便于新建对象
public SxtEntry() {
}

}
//新建一个类来实现验证
class wife{
String name;
public wife(String nameString){
this.name=nameString;

}
}

简单的自定义实现map类,有助于学习map类

时间: 2024-10-11 08:30:31

自定义写实现java中map中的功能(简易)的相关文章

jAVA 获取Map中的值

jAVA 获取Map中的值 Map<String, String> map=new HashMap<String, String>(); map.put("name", "饶伟"); map.put("sex", "男"); map.put("address", "大连"); 方法1 for (Map.Entry<String, String> Map

java 获取map中所有的key和value值

java.util.Iterator it = hashmap.entrySet().iterator(); while(it.hasNext()){ java.util.Map.Entry entry = (java.util.Map.Entry)it.next(); entry.getKey() 返回与此项对应的键 entry.getValue() 返回与此项对应的值 } 更多关于java教程 : 请关注 java教程

Java 实现Map集合排序功能

第一步:Map中新增sort临时键 // 初始化Map集合 List<Map<String, String>> columns = new ArrayList<Map<String, String>>(); Map<String, String> c1 = new HashMap<String,String>(); c1.put("sort", "8"); c1.put("title&

C++ 中map 中迭代器的简单使用:

public member function <map> std::map::find iterator find (const key_type& k); const_iterator find (const key_type& k) const; Get iterator to element Searches the container for an element with a key equivalent to k and returns an iterator to

对list中map中的key值进行排序

//对时间戳进行排序 获取最新的mapList<Map<String, Object>> dateList = new ArrayList<Map<String, Object>>(); Map<String, Object> paramsValue = new HashMap<String, Object>(); paramsValue.put("userId", user.getId()); List<S

jAVA 得到Map价值

jAVA 获取Map中的值 Map<String, String> map=new HashMap<String, String>(); map.put("name", "饶伟"); map.put("sex", "男"); map.put("address", "大连"); 方法1 for (Map.Entry<String, String> Map

JAVA中写时复制(Copy-On-Write)Map实现

1,什么是写时复制(Copy-On-Write)容器? 写时复制是指:在并发访问的情景下,当需要修改JAVA中Containers的元素时,不直接修改该容器,而是先复制一份副本,在副本上进行修改.修改完成之后,将指向原来容器的引用指向新的容器(副本容器). 2,写时复制带来的影响 ①由于不会修改原始容器,只修改副本容器.因此,可以对原始容器进行并发地读.其次,实现了读操作与写操作的分离,读操作发生在原始容器上,写操作发生在副本容器上. ②数据一致性问题:读操作的线程可能不会立即读取到新修改的数据

【redis,1】java操作redis: 将string、list、map、自定义的对象保存到redis中

一.操作string .list .map 对象 1.引入jar: jedis-2.1.0.jar 2.代码 /** * @param args */ public static void main(String[] args) { //连接redis服务 Jedis jedis = new Jedis("192.168.88.15",6379); //密码验证-如果你没有设置redis密码可不验证即可使用相关命令 //        jedis.auth("abcdefg&

java中map有哪些

java为数据结构中的映射定义了一个接口java.util.Map;它有四个实现类,分别是HashMap Hashtable LinkedHashMap 和TreeMap Map主要用于存储健值对,根据键得到值,因此不允许键重复(重复了覆盖了),但允许值重复. Hashmap 是一个最常用的Map,它根据键的HashCode 值存储数据,根据键可以直接获取它的值,具有很快的访问速度,遍历时,取得数据的顺序是完全随机的.HashMap最多只允许一条记录的键为Null;允许多条记录的值为 Null;