Basically all the programs that use collections at all? Of the first 7 programs that I checked, 6 use primitive arrays, and N-body uses an array but that array contains a pointer type. Fannkuch-redux, meteor contest, fasta, spectral-norm, reverse complement, mandelbrot ... all use primitive arrays. A better question would be: which programs do NOT use primitive arrays? I'm not saying that these should be written using ArrayList or something, just that they are not very indicative of real world performance when people are more likely to use the collection classes.
That people use standard collection classes more often than in these benchmarks where they little used (if at all) is a big fat assumption?! There are going to be many situations where using a primitive array is not the right choice. When you need a hash table, a set or an expandable array, for example. If you are claiming that these benchmarks are indicative of the real world, you are claiming that collection classes are not used in the real world, since hardly any (if any) use the built in collections.
> aren't there also going to be many situations when the right thing to do is use an array?
Sure, with a language that has super slow boxing semantics....
Just look at BinaryTree. The benchmark would show a very different picture if it would compare Tree<Integer> implementations instead of allowing a primitive int.