Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

โปรแกรม Java ลบสับลิสต์ (Sublist) จากลิสต์


บทนำ

ในบทความนี้ เราจะเรียนรู้วิธีการลบสับลิสต์ (Sublist) จากลิสต์ (List) ลิสต์เป็นคอลเลกชันที่มีลำดับ ช่วยให้จัดเก็บและเข้าถึงสมาชิกแบบลำดับได้ มีเมธอดแบบดัชนีสำหรับแทรก อัปเดต ลบ และค้นหา สามารถมีสมาชิกซ้ำได้

ตัวอย่างการทำงาน

อินพุทตัวอย่าง:

Input list: [Java, Programming, Is, Fun]

เอาต์พุทที่คาดหวัง:

The list after removing a sublist is: [Java, Programming]

อัลกอริทึม

ขั้นตอนที่ 1 - เริ่มต้น
ขั้นตอนที่ 2 - ประกาศ AbstractList ชื่อ input_list
ขั้นตอนที่ 3 - เพิ่มค่าลงในลิสต์
ขั้นตอนที่ 4 - ใช้ subList().clear() เพื่อลบสับลิสต์จากค่าดัชนีที่ระบุ
ขั้นตอนที่ 5 - แสดงผลลัพธ์
ขั้นตอนที่ 6 - จบการทำงาน

ตัวอย่างที่ 1: เขียนในฟังก์ชัน main โดยตรง

import java.util.*;

public class Demo {
    public static void main(String args[]) {
        AbstractList input_list = new LinkedList();
        input_list.add("Java");
        input_list.add("Programming");
        input_list.add("Is");
        input_list.add("Fun");
        System.out.println("The list is defined as: " + input_list);
        input_list.subList(2, 4).clear();
        System.out.println("The list after removing a sublist is: " + input_list);
    }
}

เอาต์พุท

The list is defined as: [Java, Programming, Is, Fun]
The list after removing a sublist is: [Java, Programming]

ตัวอย่างที่ 2: ใช้เมธอดแยก (Object-Oriented Style)

import java.util.*;

public class Demo {
    static void remove_sublist(AbstractList input_list) {
        input_list.subList(2, 4).clear();
        System.out.println("The list after removing a sublist is: " + input_list);
    }
    
    public static void main(String args[]) {
        AbstractList input_list = new LinkedList();
        input_list.add("Java");
        input_list.add("Programming");
        input_list.add("Is");
        input_list.add("Fun");
        System.out.println("The list is defined as: " + input_list);
        remove_sublist(input_list);
    }
}

เอาต์พุท

The list is defined as: [Java, Programming, Is, Fun]
The list after removing a sublist is: [Java, Programming]

รายละเอียด subList(int fromIndex, int toIndex):

  • คืนค่า view ของส่วนหนึ่งของลิสต์ (จาก fromIndex ถึง toIndex-1)
  • การเปลี่ยนแปลง view จะส่งผลต่อลิสต์ต้นฉบับด้วย
  • subList(2, 4) หมายถึง ดัชนี 2 และ 3 (ไม่รวม 4)
  • ใช้ clear() บน view จะลบช่วงนั้นออกจากลิสต์ต้นฉบับ

วิธีอื่น: list.removeAll(list.subList(2, 4)) หรือวนลูปลบแบบ manual