Вы можете попробовать что-то вроде этого
int[] valueA = methodWhichFillsA();
int[] valueB = methodWhichFillsB();
StringBuilder sb = new StringBuilder();
int maxSize = Math.max(valueA.length, valueB.length);
for(int i = 0; i < maxSize; i++){
if(i > 0)
sb.append("|");
if(i < valueA.length)
sb.append(valueA[i]);
sb.append(":");
if(i < valueB.length)
sb.append(valueB[i]);
}
System.out.println(sb.toString());
Это позволит оценить размер самого большого массива между valueA и valueB, цикл с этим размером.Если элемент существует, он печатается.Первый if используется для добавления разделителя, если это первая итерация, нет необходимости в "|"