import java.util.ArrayList;
import java.util.Hashtable;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Vector;
public class TestList
{
static List list = new Vector();
static Map map1 = new LinkedHashMap();
static Map map2 = new Hashtable();
static
{
// list.add("00");
// list.add("11");
// list.add("44");
// list.add("66");
list.add("22");
// map1.put(new Integer(2), "22");
// map1.put(new Integer(3), "33");
// map1.put(new Integer(5), "55");
// map1.put(new Integer(7), "77");
// map1.put(new Integer(8), "88");
// map2.put(new Integer(2), "22");
// map2.put(new Integer(3), "33");
// map2.put(new Integer(5), "55");
// map2.put(new Integer(7), "77");
// map2.put(new Integer(8), "88");
map1.put(new Integer(0), "00");
map1.put(new Integer(1), "11");
map2.put(new Integer(0), "00");
map2.put(new Integer(1), "11");
}
/**
* @param args
*/
public static void main(String[] args)
{
//testList1();
testList2();
}
private static void testList1()
{
try
{
int size = list.size();
List newList = new Vector();
Iterator itr = map1.keySet().iterator();
while(itr.hasNext())
{
Integer key= (Integer) itr.next();
if(key.intValue()+1<=size)
{
list.add(key.intValue(), map1.get(key));
size = list.size();
}
else
{
newList.add(map1.get(key));
}
}
if(newList.size()!=0)
list.addAll(newList);
System.out.println("list.size():"+list.size());
for(int i =0;i
{
System.out.println(" "+list.get(i));
}
}catch(Exception e)
{
e.printStackTrace();
}
}
private static void testList2()
{
int size = map2.size()+list.size();
List newList = new ArrayList(size);
int index = 0;
for(int i=0; i< size ; i++)
{
Integer key = new Integer(i);
if(map2.containsKey(key))
newList.add(map2.get(key));
else
newList.add(list.get(index++));
}
for(int i =0;i
{
System.out.println(" "+newList.get(i));
}
}
}