title: Why sort method doesn't work for arraylist object
body: <p>I want to sort a list of array using Collections.sort() based to the CompareTo() method </p>
  
  <p>This is my arraylist object :</p>
  
  <pre><code>ArrayList&lt;Personne&gt; personnes = new ArrayList&lt;Personne&gt;();
          Personne p1 = new Personne("001590842","51862499", "N5+", "1", "20170201","0");
          Personne p2 = new Personne("001590842","51862499", "X0", "1", "20150529", "1");
          Personne p3 = new Personne("001639055","51862517", "G3", "1", "20170201", "2");
          Personne p4 = new Personne("001639055","51862517", "G3", "1", "20170201", "2");
          Personne p5 = new Personne("001597135","51862517", "G3", "1", "20170201", "2");
          Personne p6 = new Personne("001597135","51862517", "G3", "1", "20170201", "2");
          Personne p7 = new Personne("002804935","00006178","G4","1","19870101","1");
          Personne p8 = new Personne("002804935","00009118","X0","1","19861201","1");
          Personne p9 = new Personne("002804935","00009957","N4+","1","19861229","1");
          Personne p10 = new Personne("002804935","00012970","B3++","1","20100227","1");
          personnes.add(p1);
          personnes.add(p2);
          personnes.add(p3);
          personnes.add(p4);
          personnes.add(p5);
          personnes.add(p6);
          personnes.add(p7);
          personnes.add(p8);
          personnes.add(p9);
          personnes.add(p10);
  </code></pre>
  
  <p>This is my compareTo function :</p>
  
  <pre><code>public int compareTo(Object personne) {
          int res = 0;
  
          Personne other = (Personne) personne;
  
          // Conversion of Dates from String to Dates
  
          Date otherDate = converteDate(other.getDA_PRM_CTR_ORDER());
          Date entreePersonne = converteDate(this.DA_PRM_CTR_ORDER);
          res = entreePersonne.compareTo(otherDate);        
  
          // if there is Legality between dates 
          if (res == 0) {
  
              Long entreePersonneIDT = Long.parseLong(this.getIDT_ETT_PSE());
              Long otherPersonneIDT = Long.parseLong(other.getIDT_ETT_PSE());
              res = entreePersonneIDT.compareTo(otherPersonneIDT);
              return res;
          }
          return res;
      }
  </code></pre>
  
  <p>Now when I want to call </p>
  
  <pre><code>private static String SelectionCodeNote(ArrayList&lt;Personne&gt; listPersonnes) {
  
          if (null != listPersonnes) {
      for(Personne personne: listPersonnes)
                  {
  if (personne.getIDC_PSE_PCL().equals("1") &amp;&amp; personne.getIDC_CD_NOT().equals("0")) {
                      return (personne.getCD_NOT());
                  } else {
                      Collections.sort(listPersonnes);
                      return (personne.getCD_NOT());
                  }
              }
  }return null;
  }
  </code></pre>
  
  <p>The Personne object is defined as </p>
  
  <pre><code>public class Personne {
  
      private String IDT_GCT;
      private String IDC_PSE_PCL;
      private String IDC_CD_NOT;
      private String DA_PRM_CTR_ORDER;
      private String IDT_ETT_PSE;
      private String CD_NOT;
  
      public Personne(String IDT_GCT, String IDC_PSE_PCL, String IDC_CD_NOT,
                      String DA_PRM_CTR_ORDER, String IDT_ETT_PSE, String CD_NOT) {
          this.IDT_GCT =  IDT_GCT;
          this.IDC_PSE_PCL = IDC_PSE_PCL;
          this.IDC_CD_NOT = IDC_CD_NOT;
          this.DA_PRM_CTR_ORDER = DA_PRM_CTR_ORDER;
          this.IDT_ETT_PSE = IDT_ETT_PSE;
          this.CD_NOT = CD_NOT;
      }
  
      public String getIDC_CD_NOT() {
          return this.IDC_CD_NOT;
      }
  
      public String getIDC_PSE_PCL() {
          return this.IDC_PSE_PCL;
      }
  
      public String getDA_PRM_CTR_ORDER() {
          return this.DA_PRM_CTR_ORDER;
      }
  
      public String getIDT_ETT_PSE() {
          return this.IDT_ETT_PSE;
      }
  
      public String getCD_NOT() {
          return this.CD_NOT;
      }
  
      public String getIDT_GCT() {
          return this.IDT_GCT;
      }
  }
  </code></pre>
  
  <p>The problem is in the line   <code>Collections.sort(listPersonnes);</code></p>
  
  <p>saying </p>
  
  <blockquote>
    <p>The method sort(List) in the type Collections is not applicable for
    the arguments (ArrayList)</p>
  </blockquote>
  
  <p>Is not this weird please ?</p>