Java中多键映射如何实现,适用于多个键映射同一值的情况?

更新于
2026-10-12 07:13:11
2阅读来源:SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计332个文字,预计阅读时间需要2分钟。

Java中多键映射如何实现,适用于多个键映射同一值的情况?

javaimport java.util.ArrayList;import java.util.HashMap;import java.util.List;

public class MultiMap { List maps=new ArrayList(); private int dimension=0;

public MultiMap(int dimension) { this.dimension=dimension; for (int i=0; i

Java中多键映射如何实现,适用于多个键映射同一值的情况?

java多键map

import java.util.ArrayList; import java.util.HashMap; import java.util.List; public class MulitMap { List > maps=new ArrayList >(); private int dimension=0; public MulitMap(int dimension){ for(int i=0;i ()); } setDimension(dimension); } private void setDimension(int dm){ dimension=dm; } public void put(int i,K key,T value){ if(i<0||i>=dimension){ return; } maps.get(i).put(key, value); } public T get(int i,K key){ if(i<0||i>=dimension){ return null; } return maps.get(i).get(key); } public void remove(int i,K k){ if(i<0||i>=dimension){ return; } maps.get(i).remove(k); } public void clear(){ for(int i=0;i =dimension){ break; } maps.get(index).put(k, value); index++; } } public T get(@SuppressWarnings("unchecked") K... ks){ if(ks==null){ return null; } if(ks.length!=dimension){ return null; } int index=0; T r=null; for(K k:ks){ if(index>=dimension){ break; } T t=maps.get(index).get(k); if(t==null){ r=null; break; } if(r==null){ r=t; }else if(r!=t){ r=null; break; } r=t; index++; } return r; } public void remove(@SuppressWarnings("unchecked") K... ks){ if(ks==null){ return; } if(ks.length!=dimension){ return; } int index=0; for(K k:ks){ if(index>=dimension){ break; } maps.get(index).remove(k); index++; } } }

本文共计332个文字,预计阅读时间需要2分钟。

Java中多键映射如何实现,适用于多个键映射同一值的情况?

javaimport java.util.ArrayList;import java.util.HashMap;import java.util.List;

public class MultiMap { List maps=new ArrayList(); private int dimension=0;

public MultiMap(int dimension) { this.dimension=dimension; for (int i=0; i

Java中多键映射如何实现,适用于多个键映射同一值的情况?

java多键map

import java.util.ArrayList; import java.util.HashMap; import java.util.List; public class MulitMap { List > maps=new ArrayList >(); private int dimension=0; public MulitMap(int dimension){ for(int i=0;i ()); } setDimension(dimension); } private void setDimension(int dm){ dimension=dm; } public void put(int i,K key,T value){ if(i<0||i>=dimension){ return; } maps.get(i).put(key, value); } public T get(int i,K key){ if(i<0||i>=dimension){ return null; } return maps.get(i).get(key); } public void remove(int i,K k){ if(i<0||i>=dimension){ return; } maps.get(i).remove(k); } public void clear(){ for(int i=0;i =dimension){ break; } maps.get(index).put(k, value); index++; } } public T get(@SuppressWarnings("unchecked") K... ks){ if(ks==null){ return null; } if(ks.length!=dimension){ return null; } int index=0; T r=null; for(K k:ks){ if(index>=dimension){ break; } T t=maps.get(index).get(k); if(t==null){ r=null; break; } if(r==null){ r=t; }else if(r!=t){ r=null; break; } r=t; index++; } return r; } public void remove(@SuppressWarnings("unchecked") K... ks){ if(ks==null){ return; } if(ks.length!=dimension){ return; } int index=0; for(K k:ks){ if(index>=dimension){ break; } maps.get(index).remove(k); index++; } } }