2017-09-19 4 views
0

// Quelle est la meilleure façon de connaître l'indice d'un événement particulier en utilisant l'identifiant d'offre?
en utilisant core Java ou en utilisant une bibliothèque tierce comme (Collection Guava/Commons)?Comment trouver l'index d'un élément d'arraylist, en utilisant une propriété dans un élément de liste?

public class Event{ 
     private String title; 
     //other attributes 
     private ArrayList<Offers> lOffers; 
    } 

    public class Offers{ 
     private Sring Id; 
     private String offerName; 
    } 


    //Code 
    List<PayPerViewTitles> PayPerViewTitleList = someMethod(); 

/* 

offerId -> Offers Object id property 
**/ 
    private int findEventPositionByOfferId(List<Event> eventList, String offerId){ 
     // how to implement this method to find the Main Event using the 
     offer->id 
    } 

Cet objet est utilisé pour la carte du serveur Réponse JSON,

+1

Avant d'essayer de trouver le meilleur moyen, avez-vous au moins essayé ** un ** moyen? Pourquoi ne respectez-vous pas les conventions de nommage Java? –

+0

Et où cette offre est-elle présente? –

+0

Une raison spécifique 'lOffers' devrait être une liste? Avez-vous envisagé d'utiliser une autre structure de données? –

Répondre

0

vous pouvez utiliser une carte pour sauver id comme la clé, objet comme valeur, utilisez la liste, comme ceci:

List<Student> students = new ArrayList<>(); 
    Student student0 = Student.builder().id(1).name("wentjiang").age(23).build(); 
    Student student1 = Student.builder().id(2).name("wentjiang2").age(232).build(); 

    Map<Integer,Student> map = new HashMap<>(); 
    map.put(student0.getId(),student0); 
    map.put(student1.getId(),student1); 
    students.add(student0); 
    students.add(student1); 
    Integer findId = 2; 
    Student student = map.get(findId); 
    int index = students.indexOf(student); 
    System.out.println(index);