如何根据其中存在的字符串值对数组列表进行排序

时间:2016-01-09 09:35:47

标签: java android sorting arraylist

在arraylist中我有不同的字符串,例如The event is public and event details are visible to all readers of the calendar.如何将家放在上面然后工作然后剩下。有人提出了一种方法来做到这一点

4 个答案:

答案 0 :(得分:1)

假设您想按字母顺序对收藏品进行排序,您可以执行以下操作

List<String> originalList = Arrays.asList("YZW", "Work", "Freetime", "Home", "XZY");
originalList.sort((x,y) -> x.compareTo(y));

如果您始终希望在开始时拥有Home,那么请更改compareTo函数以首先考虑Home。

答案 1 :(得分:0)

这就是你要找的东西:

ArrayList list = new ArrayList<>();
list.add("Home");
list.add("Work");
list.add("Freetime");
list.remove("Work");
list.add(0, "Work");

伟大的DevLen _

答案 2 :(得分:0)

如果您不愿意编写自己的排序或创建包装器,可以执行以下操作

  1. 删除&#34; Home&#34;和&#34;工作&#34;来自清单
  2. Do Collections.sort(list)
  3. 添加&#34; Home&#34;,&#34;工作&#34;在列表的开头使用add(int index,E element)方法。

  4. <?php
    
    header('Content-Type: application/json');
    
    $ParseAppID = "X-Parse-Application-Id: ... " ;
    $ParseRestKey = "X-Parse-REST-API-Key: ... " ;
    //$ParseMasterKey = ;
    $GET ="GET";
    
    $data = array("createdAt"=>"2016-01-09T08:42:36.675Z");
    $data_string = json_encode($data);
    $curl = curl_init();
    
    curl_setopt($curl, CURLOPT_CUSTOMREQUEST, $GET);
    curl_setopt( $curl, CURLOPT_RETURNTRANSFER, 1 );
    curl_setopt($curl, CURLOPT_HEADER, FALSE);
    curl_setopt($curl, CURLOPT_HTTPHEADER, array($ParseAppID, $ParseRestKey));
    curl_setopt($curl, CURLOPT_URL, "https://api.parse.com/1/classes/Text?where=".urlencode($data_string));
    
    $result = curl_exec( $curl );
    
    curl_close( $curl );
    echo $result;
    ?>
    

    注意: - 上面代码中使用的add()方法需要将列表元素移到右边。 add(0,obj)和remove是复杂度O(n)

答案 3 :(得分:0)

如果要按排序顺序添加字符串,可以使用SortedSet。这是一段代码片段

 echo "<li><div style='padding-left: ".$pad."px;'>$number</div></li>";

这将按排序方式添加每个字符串。