如果你問你會用,那麼我建議去一個地圖的字符串(單詞的名稱)列出整數的結構類型(這些詞的索引)。
下面的類顯示了我如何實現一個地圖存儲列表。
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
/**
* Class of a map which allows to have a list of items under a single key.
* @author Konrad Borowiecki
*
* @param <T1> type of the key.
* @param <T2> type of objects the value list will store.
*/
public class ListHashMap<T1, T2> extends HashMap<T1, List<T2>>
{
private static final long serialVersionUID = -3157711948165169766L;
public ListHashMap()
{
}
public void addItem(T1 key, T2 item)
{
if(containsKey(key))
{
List<T2> tml = get(key);
tml.add(item);
}
else
{
List<T2> items = new ArrayList<T2>();
items.add(item);
put(key, items);
}
}
public void removeItem(T1 key, T2 item)
{
List<T2> items = get(key);
items.remove(item);
}
public void removeItem(T2 item)
{
Set<java.util.Map.Entry<T1, List<T2>>> set = entrySet();
Iterator<java.util.Map.Entry<T1, List<T2>>> it = set.iterator();
while(it.hasNext())
{
java.util.Map.Entry<T1, List<T2>> me = it.next();
if(me.getValue().contains(item))
{
me.getValue().remove(item);
if(me.getValue().isEmpty())
it.remove();
break;
}
}
}
}
你的情況,你會的單詞映射到索引列表,這樣,你會調用類是這樣的: ListHashMap <字符串,整數> wordToIndexesMap =新ListHashMap <字符串,整數>();
享受,博羅。
您可以添加有關您正在嘗試完成的內容,您希望數據保存的內容以及初始化哪個索引的詳細信息? – 2011-04-04 20:16:15
@Stephen L:[這是原始問題](http://stackoverflow.com/questions/5533164/of-times-a-single-word-in-a-sentence/5533329)。 – mre 2011-04-04 20:30:56