Duplicate integers in an array
You don't need to use Set since indexes can never repeat.  Use a List isntead.
You don't need to keep track of the count.  You can just get indices.size().  That makes ShowIndexDuplicateData class unnecessary.
You probably should be dealing with int[] rather than Integer[].  There aren't many reasons to have a Integer[]


With that, you can really simplify this (using java 8):

import static java.util.stream.Collectors.groupingBy;
import static java.util.stream.Collectors.toList;
.....


static final String FORMAT = "%s: count=%s, indices=%s%n";  

public static void duplicatesInArray(int[] ary) {
    IntStream.range(0,ary.length).boxed()
            .collect(groupingBy(i -&gt; ary[i], toList()))
            .forEach((num, lst) -&gt; System.out.printf(FORMAT, num, lst.size(), lst));
}