/* * * */ package com.limegroup.gnutella.util; public class LimitedList { private int MAX = 5; // private ArrayList _list; private LimitedArray _list; private int _size; public LimitedList() { // _list = new ArrayList(); _list = new LimitedArray(MAX); _size = 0; } public Object[] getAllElements() { Object[] elems = new Object[_size]; elems = _list.toArray(); return elems; } public void print() { for (int i=0; i < _size; i++) { Pair p = (Pair)_list.get(i); if (p != null) p.print(); } } public void add(Object elem, int key) { if (key == 0) return; int index = _size - 1; Pair p; int pkey; if (index > -1) { while( (p = (Pair)_list.get(index)) == null ) { index--; if( index==0 ) break; } } while (index > -1) { p = (Pair)_list.get(index); pkey = p.getKey(); if (key <= pkey) { if (index != MAX-1) { _list.add(index+1, elem); _size++; return; } else return; } index--; } _list.add(0, elem); _size++; } }