Dart:
การใช้แอเรย์สมาชิก
วิธีการ:
Dart มีไวยากรณ์ที่ตรงไปตรงมาสำหรับการสร้างและจัดการ Maps ด้านล่างนี้เป็นตัวอย่างที่แสดงการดำเนินงานพื้นฐานเช่น การสร้าง, เพิ่มองค์ประกอบ และการเรียกค่า
void main() {
// สร้างแมพ
var fruitColors = {
'apple': 'red',
'banana': 'yellow',
'grape': 'purple'
};
// เพิ่มคู่คีย์-ค่าใหม่
fruitColors['orange'] = 'orange';
// เข้าถึงค่าด้วยคีย์ของมัน
print(fruitColors['apple']); // ผลลัพธ์: red
// อัพเดทค่า
fruitColors['banana'] = 'green';
// ท่องผ่าน Map
fruitColors.forEach((fruit, color) {
print('$fruit: $color');
});
// ตัวอย่างผลลัพธ์:
// apple: red
// banana: green
// grape: purple
// orange: orange
}
สำหรับโครงสร้างข้อมูลที่ซับซ้อนหรือการขยายฟังก์ชันการทำงาน เจ้าของโปรแกรม Dart มักพึ่งพาไลบรารีเพิ่มเติม หนึ่งในไลบรารีเหล่านี้คือ collection
ซึ่งให้ประเภทการรวบรวมขั้นสูงและยูทิลิตี้ ถึงแม้ว่า collection
จะไม่เปลี่ยนวิธีการที่ Maps ถูกจัดการอย่างพื้นฐาน แต่มันเพิ่มคุณสมบัติเรืองน้ำหนักโดยฟังก์ชันยูทิลิตี้และประเภทการรวมข้อมูลที่ซับซ้อนยิ่งขึ้น นี่คือวิธีที่คุณอาจใช้มันสำหรับงานเฉพาะเจาะจงเช่น การเรียงลำดับ Map ตามค่าของมัน:
ก่อนอื่น, ตรวจสอบให้แน่ใจว่าแพคเกจ collection
ถูกรวมอยู่ในไฟล์ pubspec.yaml
ของคุณ:
dependencies:
collection: ^1.15.0
จากนั้น, คุณสามารถใช้งานได้ดังนี้:
import 'package:collection/collection.dart';
void main() {
var fruitColors = {
'apple': 'red',
'banana': 'yellow',
'grape': 'purple',
'orange': 'orange'
};
// การเรียงลำดับ Map ตามค่า (สี) ของมัน
var sortedFruitsByColor = SplayTreeMap.from(
fruitColors,
(key1, key2) => fruitColors[key1]!.compareTo(fruitColors[key2]!)
);
print(sortedFruitsByColor);
// ผลลัพธ์:
// {orange: orange, apple: red, banana: yellow, grape: purple}
}
ตัวอย่างนี้แสดงการเรียงลำดับรายการของ Map ตามค่าของมัน แสดงให้เห็นว่า Dart และระบบนิเวศที่มีชีวิตชีวาของมันสามารถจัดการ associative arrays สำหรับการจัดการข้อมูลที่ซับซ้อนยิ่งขึ้นได้อย่างคล่องแคล่ว