Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.*;
- import java.util.Map.Entry;
- public class Program {
- public static <T> HashMap<T, Collection<Integer>> createIndexMap(
- Collection<T> c) {
- HashMap<T, Collection<Integer>> m = new HashMap<T, Collection<Integer>>();
- int i = 0;
- for (T x : c) {
- if (m.containsKey(x)) {
- Collection<Integer> ci = m.get(x);
- ci.add(i);
- } else {
- Collection<Integer> ci = new Vector<Integer>();
- ci.add(i);
- m.put(x, ci);
- }
- i++;
- }
- return m;
- }
- public static void main(String[] args) {
- List<Integer> l = new LinkedList<Integer>();
- l.add(2);
- l.add(5);
- l.add(2);
- l.add(2);
- l.add(8);
- l.add(7);
- l.add(5);
- l.add(7);
- HashMap<Integer, Collection<Integer>> m = createIndexMap(l);
- for (Integer x : m.keySet()) {
- System.out.print(x + ":");
- for (Integer y : m.get(x))
- System.out.print(y + " ");
- System.out.println();
- }
- List<Point> ll = new LinkedList<Point>();
- ll.add(new Point(2,1));
- ll.add(new Point(3,1));
- ll.add(new Point(2,1));
- ll.add(new Point(4,1));
- ll.add(new Point(3,1));
- ll.add(new Point(2,1));
- ll.add(new Point(2,1));
- ll.add(new Point(4,1));
- HashMap<Point, Collection<Integer>> mm = createIndexMap(ll);
- for (Point x : mm.keySet()) {
- System.out.print(x + ":");
- for (Integer y : mm.get(x))
- System.out.print(y + " ");
- System.out.println();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement