summaryrefslogtreecommitdiff
path: root/gi/posterior-regularisation/Lexicon.java
diff options
context:
space:
mode:
Diffstat (limited to 'gi/posterior-regularisation/Lexicon.java')
-rw-r--r--gi/posterior-regularisation/Lexicon.java32
1 files changed, 32 insertions, 0 deletions
diff --git a/gi/posterior-regularisation/Lexicon.java b/gi/posterior-regularisation/Lexicon.java
new file mode 100644
index 00000000..9f0245ee
--- /dev/null
+++ b/gi/posterior-regularisation/Lexicon.java
@@ -0,0 +1,32 @@
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+public class Lexicon<T>
+{
+ public int insert(T word)
+ {
+ Integer i = wordToIndex.get(word);
+ if (i == null)
+ {
+ i = indexToWord.size();
+ wordToIndex.put(word, i);
+ indexToWord.add(word);
+ }
+ return i;
+ }
+
+ public T lookup(int index)
+ {
+ return indexToWord.get(index);
+ }
+
+ public int size()
+ {
+ return indexToWord.size();
+ }
+
+ private Map<T, Integer> wordToIndex = new HashMap<T, Integer>();
+ private List<T> indexToWord = new ArrayList<T>();
+} \ No newline at end of file