如何在Java中將ArrayList按升序排序
在這篇文章中,我們將學習如何使用Java將ArrayList按升序排序。排序允許我們將元素按特定順序排列。我們將使用Collections.sort() 方法,它簡化了排序過程,無論您是處理整數還是字串。程式將演示如何將整數和名稱的ArrayList按升序排序。
問題陳述
編寫一個Java程式,將ArrayList中的元素按升序排序。我們將看兩個例子——一個是整數值,另一個是字串值。
輸入1
Points
[50, 29, 35, 11, 78, 64, 89, 67]
輸出1
Points (ascending)
[11, 29, 35, 50, 64, 67, 78, 89]
輸入2
Student Names
[Tim, John, Steve, Andy, Devillers, Jacob, Franco, Amy]
輸出2
Student Names (ascending)
[Amy, Andy, Devillers, Franco, Jacob, John, Steve, Tim]
不同的方法
以下是使用Java將ArrayList按升序排序的不同方法:
在ArrayList中排序整數元素
以下是使用Java按升序排序ArrayList的步驟:
- 從java.util包匯入ArrayList和Collections類。
- 建立一個ArrayList來儲存整數元素。
- 向列表中新增一些整數值。
- 顯示排序前的ArrayList。
- 使用Collections.sort()方法按升序排序列表。
- 列印排序後的列表。
示例
現在讓我們來看一個按升序排序ArrayList的例子。在這裡,我們對包含整數元素的ArrayList進行排序:
import java.util.ArrayList; import java.util.Collections; public class Demo { public static void main(String args[]) { ArrayList<Integer> myList = new ArrayList<Integer>(); myList.add(50); myList.add(29); myList.add(35); myList.add(11); myList.add(78); myList.add(64); myList.add(89); myList.add(67); System.out.println("Points
"+ myList); Collections.sort(myList); System.out.println("Points (ascending order)
"+ myList); } }
輸出
Points [50, 29, 35, 11, 78, 64, 89, 67] Points (ascending) [11, 29, 35, 50, 64, 67, 78, 89]
在ArrayList中排序字串元素
以下是使用Java按升序排序ArrayList的步驟:
- 從java.util包匯入ArrayList和Collections類。
- 建立一個ArrayList來儲存字串值。
- 向列表中新增一些名稱(字串)。
- 列印排序前的列表。
- 使用Collections.sort()按字母順序(升序)排序列表。
- 顯示排序後的ArrayList。
示例
以下是另一個使用Java按升序排序ArrayList的程式碼。在這裡,我們對包含字串值的ArrayList進行排序:
import java.util.ArrayList; import java.util.Collections; public class Demo { public static void main(String args[]) { ArrayList<String> myList = new ArrayList<String>(); myList.add("Tim"); myList.add("John"); myList.add("Steve"); myList.add("Andy"); myList.add("Devillers"); myList.add("Jacob"); myList.add("Franco"); myList.add("Amy"); System.out.println("Student Names
"+ myList); Collections.sort(myList); System.out.println("Student Names (ascending)
"+ myList); } }
輸出
Student Names [Tim, John, Steve, Andy, Devillers, Jacob, Franco, Amy] Student Names (ascending) [Amy, Andy, Devillers, Franco, Jacob, John, Steve, Tim]
廣告