จะเรียง Array, ArrayList, String, List, Map และ Set ใน Java ได้อย่างไร?



บทความนี้มุ่งเน้นไปที่การเรียงลำดับใน Java ที่นี่คุณจะได้เรียนรู้วิธีการจัดเรียง Array, ArrayList, String, List, Map และ Set ใน Java

การเรียงลำดับเป็นส่วนสำคัญของภาษาโปรแกรมใด ๆ Java ไม่ต้องสงสัยเลยว่าเป็นหนึ่งในภาษาโปรแกรมที่ดีที่สุด มีคุณสมบัติหลากหลายที่ทำให้ง่าย! บทความนี้จะช่วยให้คุณเปิดเผยทุกอย่างเกี่ยวกับการจัดเรียง โดยเฉพาะอย่างยิ่งเรียง Array, ArrayList, String, List, Map และ Set ใน Java

หัวข้อด้านล่างนี้กล่าวถึงในบทความการเรียงลำดับนี้:





เอาล่ะ. :-)

เรียงลำดับ Array ใน Java

อาร์เรย์ใน Java จัดเก็บค่าหนึ่งหรือหลายค่าของชนิดข้อมูลเฉพาะและจัดทำดัชนีการเข้าถึงเพื่อจัดเก็บค่าเดียวกันในตัวแปรเดียว ลองดูโปรแกรมด้านล่างเพื่อจัดเรียงอาร์เรย์ใน Java จากน้อยไปหามาก อย่างไรก็ตามให้แน่ใจว่าคุณมี ติดตั้ง Java แล้ว .



เรียงลำดับ Array ใน Java - เรียงลำดับจากน้อยไปมาก

package Edureka import java.util.Arrays public class SortArray {public static void main (String [] args) {int [] arr = {52,12,2,72,4} // array of 5 elements Arrays.sort (arr ) System.out.printf ('จัดเรียง arr [] =% s', Arrays.toString (arr))}}

เอาต์พุต - จัดเรียง arr [] = [2, 4, 12, 52, 72]

เรียงลำดับ Array ใน Java - เรียงลำดับจากมากไปหาน้อย

package Edureka import java.util.Arrays import java.util.Collections คลาสสาธารณะ SortArray {public static void main (String [] args) {Integer [] arr = {52,12,2,72,4} // used Integer [ ] แทน int เป็นคอลเลกชัน Arrays.sort (arr, Collections.reverseOrder ()) // reverseorder () สำหรับลำดับจากมากไปหาน้อย System.out.printf ('เรียงลำดับ arr [] =% s', Arrays.toString (arr))} }

เอาท์พุต: จัดเรียง arr [] = [72, 52, 12, 4, 2]

บันทึก: ในโค้ดด้านบนฉันได้ใช้อาร์เรย์ Integer [] แทน int เนื่องจาก . เนื่องจาก reverseOrder () ไม่รองรับประเภทดั้งเดิม



หลายคนสับสนกับแนวคิดของอาร์เรย์และ ArrayList ใน Java ตารางด้านล่างนี้อาจคลายข้อสงสัยทั้งหมดของคุณ

อาร์เรย์ ArrayList

มีความยาวคงที่

มีความยาวผันแปรได้ (ขนาดไดนามิก)

รองรับเฉพาะชนิดข้อมูลดั้งเดิม

สามารถเพิ่มวัตถุและข้อมูลต่างๆลงในรายการ

ไม่สนับสนุนการเพิ่มที่ซ้ำกัน

อนุญาตให้เพิ่มองค์ประกอบที่ซ้ำกัน

c ++ เรียงลำดับ int อาร์เรย์

สามารถข้ามไปในทิศทางไปข้างหน้าเท่านั้น

สามารถเคลื่อนที่ได้ทั้งในทิศทางไปข้างหน้าและข้างหลัง

ไม่สามารถแก้ไขขนาดแบบไดนามิก

ขนาดสามารถแก้ไขได้แบบไดนามิก


ฉันหวังว่าคุณจะเข้าใจความแตกต่างแล้วเรามาดูวิธีการจัดเรียงกันต่อไป .

จัดเรียง ArrayList ใน Java (String)

การเรียง ArrayList ใน Java สามารถทำได้อย่างง่ายดายโดยใช้ไฟล์ เรียงลำดับ () วิธีการ . อ้างอิงโค้ดด้านล่างเพื่อจัดเรียง ArrayList ใน Java

package Edureka import java.util.Arrays import java.util.Collections import java.util. * public class sortingarraylist {public static void main (String args []) {ArrayList list = new ArrayList () // เติมรายการ ArrayList ('sorting') list.add ('java') list.add ('arraylist') list.add ('in') System.out.println ('Unsorted ArrayList:' + list) // พิมพ์คอลเล็กชันอาร์เรย์ที่ไม่เรียงลำดับ sort (list) // วิธีการจัดเรียงลำดับจากน้อยไปหามาก System.out.println ('Sorted ArrayList' + 'in Ascending order:' + list) // print sorted arraylist}}

เอาต์พุต -

ArrayList ที่ไม่เรียงลำดับ: [sorting, java, arraylist, in]
เรียงลำดับ ArrayList ตามลำดับจากน้อยไปมาก: [arraylist, in, java, sorting]

ก้าวไปข้างหน้าด้วยการเรียงลำดับในบทความ Java มาดูกันว่าคุณสามารถจัดเรียงจำนวนเต็มได้อย่างไร มาลองใช้การจัดเรียงด้วยวิธีการอื่นเช่นการใช้วิธี Collections.sort ()

จัดเรียง ArrayList ใน Java โดยใช้ Collections (จำนวนเต็ม)

คุณสามารถเรียงลำดับ Integer ArrayList โดยใช้เมธอด Collections.sort ()

package Edureka import java.util.Arrays import java.util.Collections import java.util. * public class SortingArrayList {public static void main (String args []) {ArrayList arraylist = new ArrayList () arraylist.add (48) arraylist เพิ่ม (2) arraylist.add (19) arraylist.add (22) System.out.println ('Before Sorting:') // before sorting for (int counter: arraylist) {System.out.println (counter)} Collections .sort (arraylist) // ฟังก์ชั่นเพื่อเรียงลำดับจากน้อยไปมาก System.out.println ('After Sorting:') // หลังจากการเรียงลำดับสำหรับ (int counter: arraylist) {System.out.println (counter)}}}

เอาต์พุต -
ก่อนจัดเรียง:
48
2
19
22
หลังจากการเรียงลำดับ:
2
19
22
48

เรียงลำดับสตริงใน Java

สตริงใน Java ไม่เปลี่ยนรูป ไม่มีวิธีการโดยตรงในการจัดเรียงไฟล์ . คุณสามารถใช้ Arrays ซึ่งมี method CharArray () ที่จะสร้างสตริงอินพุต char และใช้วิธีอื่น (Arrays.sort (char c []) เราสามารถเรียงลำดับได้อย่างง่ายดาย

package Edureka import java.util.Arrays import java.util.Collections import java.util. * public class SortingString {public static String sortString (String inputString) {char Array1 [] = inputString.toCharArray () // การแปลงสตริงอินพุตเป็น char อาร์เรย์ Arrays.sort (Array1) ส่งคืนสตริงใหม่ (Array1) // return sorted string} public static void main (String [] args) {String inputString = 'Edureka' String outputString = sortString (inputString) System.out.println (' สตริงอินพุต: '+ inputString) System.out.println (' สตริงเอาต์พุต: '+ outputString)}}

เอาต์พุต -
สตริงอินพุต: Edureka
สตริงเอาต์พุต: Eadekru

เรียงลำดับรายการใน Java

เพื่อจัดเรียงรายการใน คุณสามารถใช้วิธี Collections.sort () อ้างอิงรหัสต่อไปนี้เพื่อความเข้าใจเพิ่มเติม:

package Edureka import java.util.Arrays import java.util.Collections import java.util. * public class SortingList {public static void main (String [] args) {จำนวนเต็ม [] หลัก = จำนวนเต็มใหม่ [] {12,56,89 , 27,22,4,88,65,36} List digitList = Arrays.asList (หลัก) Collections.sort (digitList) // รายการที่จัดเรียง System.out.println ('Sorted String:' + digitList)}}

เอาต์พุต : เรียงลำดับสตริง: [4, 12, 22, 27, 36, 56, 65, 88, 89]

จัดเรียงแผนที่ใน Java

แผนที่ใน Java เป็นของ ซึ่งมีคู่คีย์ - ค่า ดังนั้นแผนที่สามารถจัดเรียงได้สองวิธี:

  • เรียงตามคีย์
  • เรียงตามค่า

เรียงตามคีย์:

package Edureka import java.util.Arrays import java.util.Collections import java.util. * public class SortingMap {public static void main (String [] args) {HashMap map = new HashMap () map.put (14, 'Aayushi ') map.put (2,' Rachit ') map.put (30,' Amit ') map.put (5,' Anamika ') TreeMap treeMap = TreeMap ใหม่ (แผนที่) System.out.println (treeMap)}}

เอาท์พุต: {2 = ราชิต 5 = อนามิกา 14 = อายุชิ 30 = อมิต}

เรียงตามมูลค่า:

package Edureka import java.util.Arrays import java.util.Collections import java.util. * public class SortingMap {public static void main (String [] args) {HashMap unSortedMap = new HashMap () unSortedMap.put (14, 'Aayushi ') unSortedMap.put (20,' Rachit ') unSortedMap.put (60,' Amit ') unSortedMap.put (70,' Anamika ') LinkedHashMap sortedMap = LinkedHashMap ใหม่ () unSortedMap.entrySet () .stream () .sorted (Map.Entry.comparingByValue ()) .forEachOroded (x -> sortedMap.put (x.getKey (), x.getValue ())) System.out.println (sortedMap)}}

เอาท์พุต: {14 = อายูชิ 60 = อมิต 70 = อนามิกา 20 = ราชิต}

java แปลงสองเท่าเป็นจำนวนเต็ม

ก้าวไปข้างหน้าด้วยการเรียงลำดับใน Java เรามาดูหัวข้อสุดท้ายนั่นคือจัดเรียงชุดใน .

จัดเรียงชุดใน Java

Set in Java เป็นอินเทอร์เฟซที่ขยาย Collections เป็นชุดของวัตถุที่ไม่เรียงลำดับซึ่งจะไม่เก็บค่าที่ซ้ำกัน ตอนนี้ไม่มีวิธีการโดยตรงในการจัดเรียง Set ใน Java ตอนนี้ในการจัดเรียงชุดคุณต้องแปลงชุดเป็นรายการจากนั้นใช้ collections.sort () API และแปลงรายการกลับเป็นชุดอีกครั้ง อ้างอิงโค้ดด้านล่างเพื่อความเข้าใจเพิ่มเติม:

package Edureka import java.util.Arrays import java.util.Collections import java.util. * public class SortSet {public static void main (String [] args) {// Unsorted list HashSet numbersSet = new LinkedHashSet (Arrays.asList (12 , 56,89,27,22,4,88,65,36)) List numbersList = new ArrayList (numbersSet) // Convert set to list // Sort the list Collections.sort (numbersList) numbersSet = new LinkedHashSet (numbersList) // แปลงรายการเป็น set // Print set เพื่อยืนยัน System.out.println (numbersSet)}}

เอาต์พุต : [4, 12, 22, 27, 36, 56, 65, 88, 89]

สิ่งนี้นำเราไปสู่จุดสิ้นสุดของบล็อกของเราเกี่ยวกับการเรียงลำดับใน Java ซึ่งคุณได้เรียนรู้วิธีจัดเรียง Array, ArrayList, String, Map และ Set ใน Java ฉันหวังว่าคุณจะพบบล็อกนี้ให้ข้อมูลและเพิ่มคุณค่าให้กับความรู้ของคุณ

ให้แน่ใจว่าคุณฝึกฝนให้มากที่สุดและเปลี่ยนประสบการณ์

ตรวจสอบไฟล์ โดย Edureka บริษัท การเรียนรู้ออนไลน์ที่เชื่อถือได้ซึ่งมีเครือข่ายผู้เรียนที่พึงพอใจมากกว่า 250,000 คนกระจายอยู่ทั่วโลก หลักสูตรการฝึกอบรมและการรับรอง Java J2EE และ SOA ของ Edureka ออกแบบมาสำหรับนักเรียนและผู้เชี่ยวชาญที่ต้องการเป็น Java Developer หลักสูตรนี้ออกแบบมาเพื่อให้คุณเริ่มต้นการเขียนโปรแกรม Java และฝึกอบรมแนวคิด Java ทั้งหลักและขั้นสูงพร้อมกับเฟรมเวิร์ก Java ต่างๆเช่น Hibernate & Spring

มีคำถามสำหรับเรา? โปรดระบุไว้ในส่วนความคิดเห็นของ 'Sorting in Java: Array, ArrayList, String, Map and Set in Java' แล้วเราจะติดต่อกลับโดยเร็วที่สุด