Advertisement
MightyPork

Loaderboard

Mar 6th, 2015
221
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 0.72 KB | None | 0 0
  1. public class Leaderboard<T>
  2. {
  3.     public final T board[];
  4.  
  5.     @SuppressWarnings("unchecked")
  6.     public Leaderboard(final int size) {
  7.         // Le Ugly Hack
  8.         this.board = (T[]) new Object[size];
  9.     }
  10.  
  11.     @SuppressWarnings("unchecked")
  12.     public void offer(final T what)
  13.     {
  14.         T xfer1, xfer2;
  15.         for (int i = 0; i < board.length; i++) {
  16.             if (board[i] == null) {
  17.                 board[i] = what;
  18.                 return;
  19.             }
  20.  
  21.             if (((Comparable<T>) board[i]).compareTo(what) > 0) {
  22.                 xfer1 = board[i];
  23.                 board[i] = what;
  24.                 for (i++; i < board.length; i++) {
  25.                     xfer2 = board[i];
  26.                     board[i] = xfer1;
  27.                     xfer1 = xfer2;
  28.                 }
  29.                 return;
  30.             }
  31.         }
  32.     }
  33.  
  34.  
  35.     @Override
  36.     public String toString()
  37.     {
  38.         return Arrays.toString(board);
  39.     }
  40. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement