JAVA——Map和HashMap的基本用法以及自己实现HashMap
2021-04-01 03:28
标签:sys main boolean tree rgs remove link null list Map接口: 1、实现Map接口的类用来存储键(key)-值(value)对 2、Map接口的实现类有HashMap和TreeMap 3、Map类中存储的键-值对通过键来标识,所以键值不能重复 常用方法类: 自己实现HashMap: JAVA——Map和HashMap的基本用法以及自己实现HashMap 标签:sys main boolean tree rgs remove link null list 原文地址:https://www.cnblogs.com/zmt-blackpink-JL/p/13548816.htmlObject put(Object key,Object value);
Object get(Object key);
Object remove(Object key);
boolean containKey(Object key);
boolean containValue(Object value);
int size();
boolean isEmpty();
void putAll(Map t);
void clear();
public class TestMap {
public static void main(String[] args) {
Map map=new HashMap();
map.put("Lisa", new blackPink("Jennie"));
map.put("Rosie", new blackPink("Jisoo"));
//map.remove("Lisa");
blackPink bPink=(blackPink) map.get("Lisa");//get方法返回的是object 要转型 这里是把地址给了bPink
map.remove("Lisa");//只是移出容器
System.out.println(bPink.name);
}
}
class blackPink{
String name;
public blackPink(String name)
{
this.name=name;
}
}
package collection;
import java.util.LinkedList;
/**
* Map:存放键值对,根据键对象找值对象,键不能重复
* 哈希码是通过对象地址进行计算得出来的
* Map底层是数组+链表
* @author Administrator
*
*/
public class MyMap {
LinkedList [] arr=new LinkedList[999];
int size;
public void put(Object key,Object value)
{
MyEntry entry=new MyEntry(key,value);
int a=key.hashCode()%arr.length;
//a:1000->1 b:10000->13
if(arr[a]==null)
{
LinkedList list=new LinkedList();
arr[a]=list;
list.add(entry);
}
else {
LinkedList list=arr[a];
for(int i=0;i
文章标题:JAVA——Map和HashMap的基本用法以及自己实现HashMap
文章链接:http://soscw.com/index.php/essay/70755.html