เรียงลำดับอาร์เรย์จากน้อยไปหามากหรือมากไปหาน้อยโดยใช้ Arrays.sort()
ที่มา:
FreeCodeCamp ในโพสต์นี้ คุณจะได้เรียนรู้วิธีจัดเรียงอาร์เรย์จากน้อยไปมากหรือจากมากไปน้อยใน Java
![คอฟฟี่เบรค #136. จัดเรียงอาร์เรย์จากน้อยไปหามากหรือจากมากไปน้อยโดยใช้ Arrays.sort() อะไรคือความแตกต่างระหว่างอินเทอร์เฟซรายการและการตั้งค่า? - 1]()
ใน Java เราใช้อาร์เรย์เพื่อจัดเก็บชุดของตัวแปร (ที่มีประเภทข้อมูลเดียวกัน) ไว้ในตัวแปรตัวเดียว แต่บางครั้งค่าที่เก็บไว้ในอาร์เรย์จะปรากฏแบบสุ่ม ต้องขอบคุณ คลาส
Arraysใน Java ที่ทำให้เราจัดการอาร์เรย์ได้หลายวิธี รวมถึงการเรียงลำดับอาร์เรย์ด้วย หนึ่งในวิธีที่เราจะใช้จาก คลาส
Arraysคือ
sort() method ซึ่งเรียงลำดับอาร์เรย์จากน้อยไปหามาก หากต้องการเรียงลำดับอาร์เรย์จากมากไปน้อย ให้ใช้ เมธอด
ReverseOrder() ของ คลาส
Collectionsใน Java
วิธีเรียงลำดับอาร์เรย์จากน้อยไปหามากใน Java โดยใช้ Arrays.sort()
นี่คือตัวอย่างวิธีที่เราสามารถใช้
sort() วิธี การเรียงลำดับอาร์เรย์จากน้อยไปหามาก
import java.util.Arrays;
class ArraySort {
public static void main(String[] args) {
int[] arr = { 5, 2, 1, 8, 10 };
Arrays.sort(arr);
for (int values : arr) {
System.out.print(values + ", ");
}
}
}
สิ่งแรกที่เราทำในตัวอย่างข้างต้นคือการนำเข้า คลาส
Arrays :
import java.util.Arrays; . สิ่ง นี้ทำให้เราสามารถเข้าถึงวิธีการทั้งหมดของ คลาส
Arrays จากนั้นเราสร้างอาร์เรย์ที่มีตัวเลขตามลำดับแบบสุ่ม:
int[] arr = { 5, 2, 1, 8, 10 }; . ในการจัดเรียงอาร์เรย์นี้จากน้อยไปหามาก เราได้ส่งอาร์เรย์เป็นพารามิเตอร์ไปยังเมธอด
sort() :
Arrays.sort(arr); . โปรดทราบว่า คลาส
Arraysจะถูกเขียนก่อนที่จะเข้าถึงเมธอด
sort()โดยใช้เครื่องหมายจุด ในที่สุด เราก็สร้างลูปและพิมพ์อาร์เรย์ไปยังคอนโซล ผลลัพธ์คืออาร์เรย์ที่เรียงลำดับ:
1, 2, 5, 8, 10 ตอนนี้เรามาพูดถึงการเรียงลำดับอาร์เรย์จากมากไปน้อย
วิธีเรียงลำดับอาร์เรย์จากมากไปน้อยใน Java โดยใช้ Collections.reverseOrder()
หากต้องการจัดเรียงอาร์เรย์จากมากไปน้อย คุณควรใช้
ReverseOrder()ซึ่งสามารถเข้าถึงได้จาก คลาส
Collections เราจะยังคงใช้
Arrays.sort(); แต่ในตัวอย่างนี้ จะใช้พารามิเตอร์สองตัว - อาร์เรย์ในการเรียงลำดับ และ
Collections.reverseOrder( )
import java.util.Arrays;
import java.util.Collections;
class ArraySort {
public static void main(String[] args) {
Integer[] arr = { 5, 2, 1, 8, 10 };
Arrays.sort(arr, Collections.reverseOrder());
for (int values : arr) {
System.out.print(values + ", ");
}
}
}
สิ่งแรกที่เราทำคือนำเข้า คลาส
Arraysและ
Collectionsเนื่องจากเราจะใช้วิธีการที่ได้รับจากคลาสเหล่านี้ จากนั้นเราสร้างอาร์เรย์ของตัวเลขตามลำดับแบบสุ่ม:
Integer[] arr = { 5, 2, 1, 8, 10 }; . อย่างที่คุณเห็น เราใช้
Integer[]แทน
int[]เหมือนในตัวอย่างก่อนหน้านี้ มิฉะนั้นจะเกิดข้อผิดพลาด ในการจัดเรียงอาร์เรย์จากมากไปน้อย เราทำสิ่งนี้:
Arrays.sort(arr, Collections.reverseOrder()); . พารามิเตอร์แรกคืออาร์เรย์
arrซึ่งจะถูกเรียงลำดับจากน้อยไปหามาก พารามิเตอร์ตัวที่สอง
Collections.reverseOrder()จะกลับลำดับของอาร์เรย์ที่เรียงลำดับเพื่อให้อยู่ในลำดับจากมากไปน้อย เมื่อวนซ้ำและพิมพ์ออกมา อาเรย์จะมีลักษณะดังนี้:
10, 8, 5, 2, 1
บทสรุป
ในบทความนี้ เราได้พูดคุยกันเกี่ยวกับการเรียงลำดับอาร์เรย์ใน Java - วิธีจัดเรียงอาร์เรย์จากน้อยไปหามากหรือจากมากไปหาน้อย ในการดำเนินการ นี้เราสามารถใช้ เมธอด
sort()ซึ่งสามารถเข้าถึงได้จาก คลาส
Arrays sort()วิธีการใช้อาร์เรย์ในการเรียงลำดับเป็นพารามิเตอร์ ในการจัดเรียงอาร์เรย์จากมากไปน้อย เราใช้ วิธี
ReverseOrder()ที่ได้รับจากคลาส Collections มันจะถูกส่งผ่านเป็นพารามิเตอร์ตัวที่สองไปยังเมธอด
sort()เพื่อให้สามารถเรียงลำดับอาร์เรย์ที่เรียงลำดับใหม่จากมากไปน้อยได้
คอลเลคชันจาวา อะไรคือความแตกต่างระหว่างอินเทอร์เฟซรายการและการตั้งค่า?
ที่มา: รายการ
Rrtutors และชุดเป็นอินเทอร์เฟซ Java เพื่อขยาย อินเทอร์เฟซคอ
ลเลกชัน ในโพสต์นี้ เราจะดูความแตกต่างที่สำคัญระหว่างทั้งสอง ตลอดจนวิธีใช้งาน
ความแตกต่างระหว่างอินเทอร์เฟซ Set และ List ใน Java
มากำหนดความแตกต่างที่สำคัญระหว่าง อินเทอร์เฟ
ซรายการและ
การตั้งค่าตามพารามิเตอร์หลักต่อไปนี้:
การนำไปปฏิบัติ
Listใช้
ArrayListsในขณะที่
HashSetใช้
Set
การจัดทำดัชนี
คุณสามารถใช้
ListIteratorเพื่อเลื่อนไปข้างหน้าและข้างหลัง ผ่าน
List ได้ แต่ ไม่ใช่ ผ่าน
Set ใช้ Iterator แทน (ซึ่งใช้ได้กับทั้ง
Listและ
Set )
คำสั่ง
อินเทอร์เฟ
ซการตั้งค่าไม่สนับสนุนลำดับการตั้งค่าใดๆ โดยเฉพาะ คอลเลกชันของ ประเภท
ชุดได้รับการจัดเรียงตามกฎของตัวเองแล้ว และไม่สามารถจัดเรียงเช่นนั้นได้
รายการเป็นรายการสั่งซื้อ ออบเจ็กต์จะถูกจัดเก็บตามลำดับที่เพิ่มเข้าไปในรายการ องค์ประกอบรายการเข้าถึงได้โดยดัชนี
วัตถุว่าง
รายการไม่มีข้อจำกัดและรองรับการเพิ่มค่า Null ในขณะที่
Setอนุญาตให้มีค่า Null ได้สูงสุดหนึ่งค่า
ซ้ำกัน
รายการสามารถมีรายการซ้ำได้ แต่
Setไม่สามารถ ชุดไม่อนุญาตให้มีองค์ประกอบที่ซ้ำกัน เนื่องจากองค์ประกอบทั้งหมดจะต้องไม่ซ้ำกัน หากคุณแทรกองค์ประกอบที่ซ้ำกันลงใน
Setค่าที่มีอยู่จะถูกเขียนทับ
เมื่อใดที่คุณควรใช้รายการและการตั้งค่า
Setเป็นตัวเลือกที่ดีที่สุดเมื่อคุณต้องการจัดเก็บค่าที่ไม่ซ้ำใคร เนื่องจากนั่นคือสิ่งที่ออกแบบมาเพื่อมัน แต่ถ้าคุณต้องการรักษาลำดับการแทรกแม้จะมีการทำซ้ำ
List คือตัว เลือก ที่ดีที่สุด
ตัวอย่างชุด
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
public class ListExample {
public static void main(String[] args) {
List<String> al = new ArrayList<String>();
al.add("Rohit");
al.add("Panjab");
al.add("Kamir");
System.out.println("My ArrayList Items: ");
System.out.print(al);
List<String> ll = new LinkedList<String>();
ll.add("Shobit");
ll.add("Raul");
ll.add("Ketel");
System.out.println("\n My LinkedList Items: ");
System.out.print(ll);
}
}
รายการตัวอย่าง
import java.util.HashSet;
import java.util.Set;
import java.util.TreeSet;
public class SetExample {
public static void main(String[] args) {
int myList[] = {60, 70, 80, 40 };
Set<Integer> dispSet = new HashSet<Integer>();
try{
for(int i = 0; i<4; i++){
dispSet.add(myList[i]);
}
System.out.println(dispSet);
TreeSet<Integer> treeset = new TreeSet<Integer>(dispSet);
System.out.println("Sorting in Asceding order:");
System.out.println(treeset);
}
catch(Exception e){
e.printStackTrace();
}
}
}
GO TO FULL VERSION