ใน Java มีคลาสมากมายที่ใช้เก็บข้อมูลบางประเภท แต่ละคลาสมีคุณสมบัติของตัวเองและคลาสที่ใช้ในการจัดเก็บข้อมูลประเภทหนึ่งจะเป็นตัวกำหนดว่าจะสามารถเข้าถึงและจัดการได้อย่างไร
หนึ่งในคลาสที่สำคัญที่สุดใน Java คือคลาส Vector Vector เป็นการนำอินเทอร์เฟซ List ไปใช้และใช้สำหรับสร้างอาร์เรย์ที่ปรับขนาดได้
กวดวิชานี้จะอธิบายโดยอ้างอิงถึงตัวอย่าง วิธีใช้คลาส Vector ใน Java เพื่อสร้างอาร์เรย์ที่ปรับขนาดได้ นอกจากนี้ บทช่วยสอนนี้จะกล่าวถึงวิธีที่ Vector เปรียบเทียบกับคลาส ArrayList ซึ่งคล้ายกับ Vector มาก
อินเทอร์เฟซรายการ Java
อินเทอร์เฟซรายการใช้เพื่อสร้างชุดข้อมูลที่เรียงลำดับใน Java ตัวอย่างเช่น List อาจจัดเก็บรายชื่อรองเท้าที่ขายในร้านรองเท้าหรือรายชื่อพนักงานทุกคนที่ทำงานในธนาคาร
อย่างไรก็ตาม เนื่องจาก List เป็นอินเทอร์เฟซ คุณไม่สามารถสร้างวัตถุจากรายการได้ ดังนั้น หากคุณต้องการสร้างรายการ คุณต้องใช้คลาสใดคลาสหนึ่งที่ขยายอินเทอร์เฟซรายการ ได้แก่ ArrayList, LinkedList, Vector และ Stack บทช่วยสอนนี้จะเน้นที่วิธีที่คุณสามารถใช้คลาส Vector เพื่อสร้างออบเจกต์ List ใน Java
จาวาเวกเตอร์
Vector ใช้อินเทอร์เฟซรายการเพื่อสร้างอาร์เรย์ที่ปรับขนาดได้ ในการสร้างเวกเตอร์ใน Java คุณสามารถใช้ไวยากรณ์ต่อไปนี้:
Vector<DataType> vector_name = new Vector<>();
แบ่งไวยากรณ์นี้ออกเป็นส่วนพื้นฐาน:
81% ของผู้เข้าร่วมกล่าวว่าพวกเขารู้สึกมั่นใจมากขึ้นเกี่ยวกับโอกาสในการทำงานด้านเทคโนโลยีหลังจากเข้าร่วม bootcamp จับคู่กับ Bootcamp วันนี้
ผู้สำเร็จการศึกษาจากหลักสูตร bootcamp โดยเฉลี่ยใช้เวลาน้อยกว่าหกเดือนในการเปลี่ยนอาชีพ ตั้งแต่เริ่มต้น bootcamp ไปจนถึงหางานแรก
- เวกเตอร์ บอกโปรแกรมของเราว่าเราต้องการประกาศเวกเตอร์
- ประเภทข้อมูล คือประเภทของข้อมูลที่เวกเตอร์ของเราจะจัดเก็บ
- vector_name เป็นชื่อของเวกเตอร์ของเรา
- เวกเตอร์ใหม่<>(); สร้างเวกเตอร์ใหม่และกำหนดให้กับ
vector_nameตัวแปร.
ตัวอย่างเช่น สมมติว่าเราต้องการประกาศเวกเตอร์ที่เก็บสีทั้งหมดของโคมไฟที่ห้างสรรพสินค้าของเราขาย เราสามารถใช้รหัสนี้เพื่อประกาศเวกเตอร์:
Vector<String> lamp_colors = new Vector>?();
ตอนนี้เรามีเวกเตอร์ชื่อ lamp_colors ซึ่งสามารถเก็บโคมไฟสีต่างๆ ที่ห้างสรรพสินค้าของเราขายได้
เมธอด Java Vector
คลาส Java Vector มีหลายวิธีที่ใช้ในการดึงและจัดการข้อมูลที่จัดเก็บไว้ในเวกเตอร์ มาแบ่งวิธีการที่สำคัญที่สุดสองสามวิธีที่เสนอโดยคลาส Vector
เพิ่มรายการลงในเวกเตอร์
มีสามวิธีที่ใช้ในการเพิ่มรายการให้กับเวกเตอร์ สิ่งที่คุณใช้จะขึ้นอยู่กับว่าคุณต้องการเพิ่มรายการลงในเวกเตอร์อย่างไร
เพิ่มองค์ประกอบให้กับเวกเตอร์
add() เมธอดใช้เพื่อเพิ่มองค์ประกอบให้กับเวกเตอร์ ไวยากรณ์สำหรับ add() วิธีการคือ:
add(index, elementName);
add() วิธียอมรับสองพารามิเตอร์:
- ดัชนี คือค่าดัชนีซึ่งรายการที่คุณระบุควรเพิ่มลงในเวกเตอร์
- ชื่อองค์ประกอบ คือรายการที่คุณต้องการเพิ่มลงในเวกเตอร์
หากคุณต้องการเพิ่มรายการต่อท้ายเวกเตอร์ index พารามิเตอร์ไม่จำเป็น
สมมติว่าเรากำลังดำเนินการในเครือห้างสรรพสินค้า และกำลังทำรายการสีที่จำหน่ายโคมไฟตั้งโต๊ะเฉพาะสำหรับกลุ่มเฟอร์นิเจอร์ใหม่ของเรา ผู้ผลิตเพิ่งแจ้งเราว่าหลอดไฟสีส้มและสีน้ำเงินจะมาพร้อมกับคำสั่งซื้อถัดไป ดังนั้นเราจึงต้องการเพิ่มสีส้มและสีน้ำเงินในรายการสีของเรา
เราสามารถทำได้โดยใช้รหัสนี้:
import java.util.Vector;
class Main {
public static void main(String[] args) {
Vector<String> lamp_colors = new Vector<>();
lamp_colors.add("Orange");
lamp_colors.add("Blue");
System.out.println("Vector: " + lamp_colors);
}
}
รหัสของเราส่งคืน:
Vector: [Orange, Blue]
อย่างที่คุณเห็น รหัสของเราได้เพิ่ม Orange และ Blue ไปที่ lamp_colors . ของเรา เวกเตอร์
สมมติว่าผู้ผลิตเพิ่งเอื้อมมือออกไปเพื่อบอกเราว่าพวกเขาจะส่งมอบโคมไฟสีเทาของเราด้วย เราต้องการเพิ่มโคมไฟสีเทาในช่วงเริ่มต้นของรายการ เนื่องจากเราคาดว่าจะได้รับความนิยมมากกว่าสีอื่นๆ เราสามารถทำได้โดยใช้ตัวอย่างจากด้านบนและเพิ่มรหัสนี้:
import java.util.Vector;
class Main {
public static void main(String[] args) {
Vector<String> lamp_colors = new Vector<>();
lamp_colors.add("Orange");
lamp_colors.add("Blue");
lamp_colors.add(0, "Gray");
System.out.println("Vector: " + lamp_colors);
}
}
รหัสของเราส่งคืน:
Vector: [Gray, Orange, Blue]
ในตัวอย่างนี้ เราได้ใช้ add() วิธีการเพิ่ม Gray ไปที่ lamp_colors เวกเตอร์ เราระบุพารามิเตอร์ดัชนี 0 ในโค้ดของเราซึ่งบอก add() เพื่อเพิ่ม Gray รายการไปยังตำแหน่งดัชนี 0 กล่าวคือเราได้เพิ่ม Gray จนถึงจุดเริ่มต้นของเวกเตอร์ของเรา จากนั้นเราบอกโปรแกรมของเราให้พิมพ์เวกเตอร์ทั้งหมดออกมา
ผสานเวกเตอร์
addAll() วิธีถูกใช้เพื่อเพิ่มองค์ประกอบทั้งหมดจากเวกเตอร์ไปยังเวกเตอร์อื่น
สมมติว่าเรามีสองรายการ:ช่วงสีและสีของหลอดไฟ เราต้องการรวมสองรายการนี้เข้าด้วยกันเพราะผู้ผลิตหลอดไฟของเราแจ้งว่าพวกเขาจะสามารถผลิตโคมไฟได้ทุกสีในช่วงสีของเรา เราสามารถใช้รหัสต่อไปนี้เพื่อรวมรายการเวกเตอร์สองรายการเข้าด้วยกัน:
import java.util.Vector;
class Main {
public static void main(String[] args) {
Vector<String> color_range = new Vector<>();
Vector<String> lamp_colors = new Vector<>();
color_range.add("Blue");
color_range.add("Black");
color_range.add("Gray");
color_range.add("Pink");
color_range.add("Orange");
lamp_colors.addAll(color_range);
System.out.println("Color range: " + color_range);
System.out.println("Lamp colors: " + lamp_colors);
}
}
รหัสของเราส่งคืน:
Color range: [Blue, Black, Gray, Pink, Orange] Lamp colors: [Blue, Black, Gray, Pink, Orange]
รหัสของเราเพิ่มสีในช่วงสีของเราเป็นเวกเตอร์ color_range . จากนั้นเราก็ใช้ addAll() เพื่อเพิ่มสีทั้งหมดจาก color_range ไปที่ lamp_colors เวกเตอร์ ในบรรทัดสุดท้ายในโค้ดของเรา เราพิมพ์ทั้งเนื้อหาของ color_range และ lamp_colors ไปที่คอนโซล
ดึงองค์ประกอบจากเวกเตอร์
get() วิธีการใช้เพื่อดึงองค์ประกอบเฉพาะจากเวกเตอร์ get() ยอมรับหนึ่งพารามิเตอร์:ค่าดัชนีของรายการที่คุณต้องการดึงข้อมูล
สมมติว่ารายการสีของหลอดไฟถูกจัดเก็บตามลำดับตัวอักษร และเราต้องการดึงข้อมูลรายการแรกในรายการของเรา เราสามารถทำได้โดยใช้รหัสนี้:
import java.util.Vector;
class Main {
public static void main(String[] args) {
Vector<String> lamp_colors = new Vector<>();
lamp_colors.add("Black");
lamp_colors.add("Blue");
lamp_colors.add("Gray");
lamp_colors.add("Orange");
lamp_colors.add("Pink");
String first_element = lamp_colors.get(0);
System.out.println("First element in list: " + first_element);
}
}
รหัสของเราส่งคืน:
First element in list: Black
ในโค้ดของเรา เราใช้ get() วิธีการดึงรายการแรกใน lamp_colors เวกเตอร์ เราระบุพารามิเตอร์ดัชนี 0 ซึ่งบอกให้รหัสของเราดึงข้อมูลรายการแรกในเวกเตอร์ หรืออีกนัยหนึ่งคือรายการที่ตำแหน่งดัชนี 0 จากนั้น เราพิมพ์องค์ประกอบแรกในรายการไปยังคอนโซล นำหน้าด้วย ข้อความ First element in list: .
ลบองค์ประกอบออกจากเวกเตอร์
มีสามวิธีที่สามารถนำมาใช้เพื่อลบองค์ประกอบออกจากเวกเตอร์:remove() , removeAll() และ clear().
ลบองค์ประกอบเดียว
remove() วิธีการใช้เพื่อลบองค์ประกอบเดียวออกจากเวกเตอร์ remove() a ccepts หนึ่งพารามิเตอร์:ตำแหน่งดัชนีขององค์ประกอบที่คุณต้องการลบออกจากเวกเตอร์
กลับไปที่ห้างสรรพสินค้ากันเถอะ ผู้ผลิตของเราแจ้งเราว่าพวกเขาไม่สามารถผลิตโคมไฟสีส้มของเราได้อีกต่อไป ดังนั้นเราจึงจำเป็นต้องลบออกจากรายการสีที่เราจำหน่ายโคมไฟ เราสามารถทำได้โดยใช้รหัสนี้:
import java.util.Vector;
class Main {
public static void main(String[] args) {
Vector<String> lamp_colors = new Vector<>();
lamp_colors.add("Black");
lamp_colors.add("Blue");
lamp_colors.add("Gray");
lamp_colors.add("Orange");
lamp_colors.add("Pink");
lamp_colors.remove(3);
System.out.println("New color list: " + lamp_colors);
}
}
รหัสของเราส่งคืน:
New color list: [Black, Blue, Gray, Pink]
เราได้ใช้ remove() วิธีการลบรายการที่ตำแหน่งดัชนี 3 ในรายการของเรา ในกรณีนี้ ค่าของไอเทมนั้นคือ Orange . จากนั้นเราพิมพ์รายการสีที่แก้ไขไปยังคอนโซล นำหน้าด้วยข้อความ New color list: .
ลบองค์ประกอบทั้งหมด
removeAll() และ clear(). เมธอดใช้เพื่อลบองค์ประกอบทั้งหมดออกจากรายการ โดยทั่วไปการใช้ clear() เป็นที่นิยมเพราะมันมีประสิทธิภาพมากกว่า แต่คุณยังสามารถใช้ removeAll() กระบวนการ.
สมมติว่าผู้ผลิตตัดสินใจว่าจะไม่สามารถผลิตโคมไฟของเราได้อีกต่อไปเนื่องจากกำลังลดขนาดการปฏิบัติงาน ดังนั้น เราจะไม่ขายโคมไฟอีกต่อไป จนกว่าจะพบผู้ผลิตรายใหม่ เราสามารถใช้รายการต่อไปนี้เพื่อลบสีทั้งหมดของโคมไฟที่เราขาย:
import java.util.Vector;
class Main {
public static void main(String[] args) {
Vector<String> lamp_colors = new Vector<>();
lamp_colors.add("Black");
lamp_colors.add("Blue");
lamp_colors.add("Gray");
lamp_colors.add("Orange");
lamp_colors.add("Pink");
lamp_colors.clear();
System.out.println("New color list: " + lamp_colors);
}
}
รหัสของเราส่งคืน:
New color list: []
เราได้ใช้ clear() วิธีการลบองค์ประกอบทั้งหมดใน lamp_colors เวกเตอร์ จากนั้นในบรรทัดสุดท้ายของโค้ด เราพิมพ์วลี New color list:“ ตามด้วยเวกเตอร์ว่าง
Java Vector และ ArrayList
ทั้ง ArrayList และ Vector ใช้อินเทอร์เฟซรายการ Java คลาสเหล่านี้ยังมีวิธีการเดียวกัน อย่างไรก็ตาม มีความแตกต่างเล็กน้อยระหว่างทั้งสองคลาส
ความแตกต่างหลักที่ควรทราบคือคลาส Vector นั้นซิงโครไนซ์ ซึ่งหมายความว่ามีเพียงเธรดเดียวเท่านั้นที่สามารถเข้าถึงโค้ดได้ ในทางกลับกัน ArrayList จะไม่ซิงโครไนซ์ ดังนั้นหลายเธรดจึงสามารถทำงานในรายการได้พร้อมกัน
วิธีการเวกเตอร์เพิ่มเติม
นอกจากนี้ยังมีวิธีอื่นๆ อีกสองสามวิธีที่สามารถใช้เพื่อจัดการข้อมูลที่จัดเก็บไว้ในเวกเตอร์ได้ นี่คือตารางอ้างอิงด้วยวิธีการเหล่านี้:
| ชื่อวิธีการ | คำอธิบาย |
| ประกอบด้วย() | ค้นหาเวกเตอร์สำหรับค่าเฉพาะ |
| ตัววนซ้ำ() | วนซ้ำผ่านเวกเตอร์ |
| set() | เปลี่ยนองค์ประกอบในเวกเตอร์ |
| ขนาด() | คืนค่าความยาวของเวกเตอร์ |
| toArray() | แปลงเวกเตอร์เป็นอาร์เรย์ |
| toString() | แปลงเวกเตอร์เป็นสตริง |
บทสรุป
คลาส Vector ใช้ใน Java เพื่อเก็บข้อมูลโดยใช้อินเทอร์เฟซรายการ ตัวอย่างเช่น อาจใช้ Vector เพื่อจัดเก็บรายการผลิตภัณฑ์ที่ขายในห้างสรรพสินค้าหรือรายการอาหารเสริมที่ร้านขายยาในท้องถิ่น
บทช่วยสอนนี้กล่าวถึงพื้นฐานของคลาส Java Vector วิธีสร้างเวกเตอร์ และความแตกต่างที่สำคัญระหว่าง Vector และ ArrayList นอกจากนี้ บทช่วยสอนนี้ยังกล่าวถึงวิธีการหลักที่สามารถใช้เพื่อดึงและจัดการเนื้อหาของเวกเตอร์ โดยอ้างอิงจากตัวอย่าง
ตอนนี้คุณมีทักษะที่จำเป็นในการเริ่มใช้คลาส Vector ใน Java อย่างมืออาชีพ!