Pregunta de entrevista de CACI International

Write an AscendingSortedLongList and DescendingSortedLongList class ... and write some JUnit classes associated with them ...

Respuesta de la entrevista

Anónimo

20 feb 2012

package sortedlist; import java.util.ArrayList; import java.util.Collections; import java.util.List; /** * Highly inefficient implementation of a sorted long list. */ public class AscendingSortedLongList implements SortedLongList { protected ArrayList list; public AscendingSortedLongList() { this(new ArrayList()); } public AscendingSortedLongList(List initialList) { this.list = new ArrayList(initialList); sort(); } protected void sort() { Collections.sort(this.list); } public void add(Long item) { this.list.add(item); sort(); } public int getPositionOf(Long item) { return this.list.indexOf(item); } public Long get(int position) { try { return this.list.get(position); } catch (IndexOutOfBoundsException e) { return null; } } public int length() { return this.list.size(); } public void printSortedContents() { System.out.print(">"); boolean comma = false; for (Long longValue : this.list) { if (comma) { System.out.print("," + longValue); } else { System.out.print(longValue); comma = true; } } System.out.println(); } public SortedLongList reverseSort() { return new DescendingSortedLongList(this.list); } }