2015-10-03 3 views
0

Я хотел бы напечатать что-то вроде этого, как только я закончил мой массив:Как получить ссылочный номер массива в Java?

Leg_______Departure Time_______Origin_____Destination________Travel Время

1 .................. (время) ............................. (место) ......... (место) ...... .................. (время)

2 .................. (время) ... .......................... (место) ......... (место) ......... ............... (время)

3 .................. (время) ...... ....................... (место) ......... (место) ............ ........ .... (время)

Я хочу распечатать массив с автоматически назначенными числовыми значениями в зависимости от порядка ввода пользователем элемента массива. У меня есть хорошая идея о том, как печатать объекты массива (время, места), но я не знаю, как распечатать ссылочный номер, который будет соответствовать. Как я буду делать эти цифры? (точки - это просто заполнители и не должны появляться в коде. Id нравится просто плавать в столбцах. SO не позволяет мне помещать пустые шаги)

Я думал, что могу попросить пользователя указать местоположение и отследить этот элемент ссылки и добавьте эту ссылку в массив, но это делает числовой порядок статичным, и я хочу их в порядке. Любая помощь будет хорошо оценена. Спасибо.

+3

Можете ли вы добавить фрагмент кода для лучшего понимания –

+0

Термин вы ищете не «ссылочный номер», это «индекс». – EJP

ответ

0

Основываясь на том, что вы предоставили, простая реализация:

List <FlightDetails> flightDetails = new ArrayList<>(); 

for (FlightDetails aflightDetail : flightDetails) { 
    System.out.println(aflightDetail.getDepartureTime() + " " +    
    aflightDetail.getOrigin() //and so on; 
} 

где FlightDetails класс держит свои различные атрибуты:

class FlightDetails { 
    private long departureTime; 
    private String origin; 
    //and so on, with various getters/setters 
} 

для утверждения будет печатать элементы в они были вставлены, поскольку ArrayList сохраняет это. Кроме того, вы также можете найти 5-й вставленный элемент просто делает

flightDetails.get(5); 

__

Если вы ищете для заказа на основе введения , а также время доступа (Так что, когда вам доступ рейс, он попадает в начало списка), вы можете использовать LinkedHashMap. This link подробно рассказывает об этом.

0

Не нужно спрашивать пользователя и последовательность дорожек или карт. Распечатайте последовательность при сортировке списка.

import java.util.ArrayList; 
import java.util.Calendar; 
import java.util.Comparator; 
import java.util.Date; 

public class SequenceOfArray 
{ 
    // Declare an ArrayList of Travel 
    ArrayList<Travel> travelList = new ArrayList<Travel>(); 

    public static void main(String[] args) 
    { 

     SequenceOfArray s = new SequenceOfArray(); 
     s.addInput(0, 4); // add non sequentional input , so that sorting by departTime gives different sequenc 
     s.addInput(10, 15); 
     s.addInput(5, 9); 

     s.travelList.sort(s.compareByDepartTime); // sort travel by departTime 
     s.print(); 
     s.travelList.sort(s.compareById); // sort by id 
     s.print(); 
    } 

    public void print() 
{ 
    System.out.println("id_______Leg______________Departure Time___________________________Origin_________Destination_____________Travel Time"); 
    for (int i = 0; i < travelList.size(); i++) 
    { 
     Travel t = travelList.get(i); 
     // print travel, leg is dynamic, as your list is sorted. 
     System.out.println(t.id + ".........." + i + ".................." + t.departTime + "........" + t.origin + "........." + t.destination + ".............." + t.departTime); 
    } 

} 

    Comparator<Travel> compareByDepartTime = new Comparator<Travel>() 
              { 

               @Override 
               public int compare(Travel o1, Travel o2) 
               { 
                return o1.departTime.compareTo(o2.departTime); 
               } 
              }; 
    Comparator<Travel> compareById   = new Comparator<Travel>() 
              { 

               @Override 
               public int compare(Travel o1, Travel o2) 
               { 
                int i = 0; 
                if (o1.id - o2.id > 0) 
                 return 1; 
                if (o1.id - o2.id < 0) 
                 return -1; 

                return i; 
               } 
              }; 

    public void addInput(int start, int end) 
    { 
     for (int i = start; i < end; i++) 
     { 
      Travel t = new Travel(); 
      t.id = i; 
      t.departTime = Calendar.getInstance().getTime(); 
      t.origin = "Origin" + (i + 1); 
      t.destination = "Destination" + (i + 1); 
      t.travelTime = Calendar.getInstance().getTime(); 
      travelList.add(t); 
     } 

    } 

} 

class Travel 
{ 
    long id; 
    Date departTime; 
    String origin; 
    String destination; 
    Date travelTime; 

    // getters and setters 

} 

Пример вывода:

id_______Leg______________Departure Time___________________________Origin_________Destination_____________Travel Time 
0..........0..................Sun Oct 04 05:11:51 GST 2015........Origin1.........Destination1..............Sun Oct 04 05:11:51 GST 2015 
1..........1..................Sun Oct 04 05:11:51 GST 2015........Origin2.........Destination2..............Sun Oct 04 05:11:51 GST 2015 
2..........2..................Sun Oct 04 05:11:51 GST 2015........Origin3.........Destination3..............Sun Oct 04 05:11:51 GST 2015 
3..........3..................Sun Oct 04 05:11:51 GST 2015........Origin4.........Destination4..............Sun Oct 04 05:11:51 GST 2015 
10..........4..................Sun Oct 04 05:11:51 GST 2015........Origin11.........Destination11..............Sun Oct 04 05:11:51 GST 2015 
11..........5..................Sun Oct 04 05:11:51 GST 2015........Origin12.........Destination12..............Sun Oct 04 05:11:51 GST 2015 
12..........6..................Sun Oct 04 05:11:51 GST 2015........Origin13.........Destination13..............Sun Oct 04 05:11:51 GST 2015 
13..........7..................Sun Oct 04 05:11:51 GST 2015........Origin14.........Destination14..............Sun Oct 04 05:11:51 GST 2015 
14..........8..................Sun Oct 04 05:11:51 GST 2015........Origin15.........Destination15..............Sun Oct 04 05:11:51 GST 2015 
5..........9..................Sun Oct 04 05:11:51 GST 2015........Origin6.........Destination6..............Sun Oct 04 05:11:51 GST 2015 
6..........10..................Sun Oct 04 05:11:51 GST 2015........Origin7.........Destination7..............Sun Oct 04 05:11:51 GST 2015 
7..........11..................Sun Oct 04 05:11:51 GST 2015........Origin8.........Destination8..............Sun Oct 04 05:11:51 GST 2015 
8..........12..................Sun Oct 04 05:11:51 GST 2015........Origin9.........Destination9..............Sun Oct 04 05:11:51 GST 2015 
id_______Leg______________Departure Time___________________________Origin_________Destination_____________Travel Time 
0..........0..................Sun Oct 04 05:11:51 GST 2015........Origin1.........Destination1..............Sun Oct 04 05:11:51 GST 2015 
1..........1..................Sun Oct 04 05:11:51 GST 2015........Origin2.........Destination2..............Sun Oct 04 05:11:51 GST 2015 
2..........2..................Sun Oct 04 05:11:51 GST 2015........Origin3.........Destination3..............Sun Oct 04 05:11:51 GST 2015 
3..........3..................Sun Oct 04 05:11:51 GST 2015........Origin4.........Destination4..............Sun Oct 04 05:11:51 GST 2015 
5..........4..................Sun Oct 04 05:11:51 GST 2015........Origin6.........Destination6..............Sun Oct 04 05:11:51 GST 2015 
6..........5..................Sun Oct 04 05:11:51 GST 2015........Origin7.........Destination7..............Sun Oct 04 05:11:51 GST 2015 
7..........6..................Sun Oct 04 05:11:51 GST 2015........Origin8.........Destination8..............Sun Oct 04 05:11:51 GST 2015 
8..........7..................Sun Oct 04 05:11:51 GST 2015........Origin9.........Destination9..............Sun Oct 04 05:11:51 GST 2015 
10..........8..................Sun Oct 04 05:11:51 GST 2015........Origin11.........Destination11..............Sun Oct 04 05:11:51 GST 2015 
11..........9..................Sun Oct 04 05:11:51 GST 2015........Origin12.........Destination12..............Sun Oct 04 05:11:51 GST 2015 
12..........10..................Sun Oct 04 05:11:51 GST 2015........Origin13.........Destination13..............Sun Oct 04 05:11:51 GST 2015 
13..........11..................Sun Oct 04 05:11:51 GST 2015........Origin14.........Destination14..............Sun Oct 04 05:11:51 GST 2015 
14..........12..................Sun Oct 04 05:11:51 GST 2015........Origin15.........Destination15..............Sun Oct 04 05:11:51 GST 2015 
Смежные вопросы