当前位置 : 主页 > 编程语言 > c++ >

java多键map。在一些场合需要多个key对应一个value,该类适用此种情况。

来源:互联网 收集:自由互联 发布时间:2021-07-03
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)
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++; } } }
     
    
   
  
 
网友评论