Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [JAVA] Работа с обьектом лист


Автор: Serega_SPB 27.1.2007, 13:18
Создать обьект List с использованием обьекта LinkedList заполнить его произвольными данными типа MyObject который содержит два поля: date и int обеспечить возможность сортировки типов Myobject вывести содержимого списка на экран отсортировать элементы в хронологическом порядке в соответствии с содержимым поля Date вывести содержимого списка на экран
 smile 

Вот прога голову сломал)
 smile 
Помогите чем могите)!

Автор: LSD 27.1.2007, 13:55
Код
import java.util.*;

public class MyObject implements Comparable<MyObject>
{
  private Date date;
  private int i;

  public MyObject(Date date, int i)
  {
    this.date = date;
    this.i = i;
  }

  public Date getDate()
  {
    return date;
  }

  public void setDate(Date date)
  {
    this.date = date;
  }

  public int getI()
  {
    return i;
  }

  public void setI(int i)
  {
    this.i = i;
  }

  public int compareTo(MyObject o)
  {
    return date.compareTo(o.date);
  }

  @Override
  public String toString()
  {
    return "MyObject[date = " + date + " , i = " + i + "]";
  }
}

Код
import java.util.*;

public class MyObjectList
{
  public static final int SIZE = 5;

  public static void main(String[] args)
  {
    List<MyObject> list = new LinkedList<MyObject>();
    Random rnd = new Random();
    long now = System.currentTimeMillis();
    for(int i = 0; i < SIZE; i++)
      list.add(new MyObject(new Date(now + rnd.nextInt()), rnd.nextInt()));

    System.out.println("Initial list = " + list);

    Collections.sort(list);

    System.out.println("Sorted list = " + list);
  }
}

При желании можно убрать из класса MyObjectList 11 строку, а строку 13 заменить на:
Код
list.add(new MyObject(new Date(rnd.nextLong()), rnd.nextInt()));

тогда даты будут генерироваться по всему доступному даипазону (только 43034567 год выглядит это немного дико).

P.S. Код предназначен для JDK 1.5 и старше.

Автор: Serega_SPB 27.1.2007, 14:30
Емое даже не знаю как и благодарить)!Спасибо! smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)