PHP 类 Java 收集(列表、集合、映射)

0.0.0 2023-08-03 10:36 UTC

This package is auto-updated.

Last update: 2024-09-03 12:51:07 UTC


README

概述

php-utils-ds 是一个 PHP 库,为列表、集合和映射提供了类似 Java 的实现。它提供了 ArrayList、Set 和 Map 等数据结构,这些结构与 Java 对应的结构非常相似,使得 Java 开发者更容易使用 PHP。

此库与 PHP 8.2 及以上版本兼容。

特性

  • ArrayList:一个动态数组,提供操作和访问其元素的方法。
  • Set:一个不包含重复元素的集合。它与数学集合类似。
  • Map:一个将键映射到值的对象。它不能包含重复的键;每个键最多映射到一个值。

安装

您可以通过 Composer 安装 php-utils-ds 库。运行以下命令

composer require vk-php-utils/ds

用法

以下是一些使用 php-utils-ds 库的示例

ArrayList

use VKPHPUtils\DS\ArrayList;

$list = new ArrayList(1, 2, 3);
$list->add(4);
$list->remove(2);

foreach ($list as $element) {
    echo $element . PHP_EOL;
}

Set

use VKPHPUtils\DS\Set;

$set = new Set(1, 2, 3, 3, 4);
$set->add(5);
$set->remove(2);

foreach ($set as $element) {
    echo $element . PHP_EOL;
}

Map

use VKPHPUtils\DS\Map;

/** @var User $user1 **/
$user1 = ...;
/** @var User $user2 **/
$user2 = ...;

/** @var Map<User, Address> $addressMap **/
$addressMap = new Map();
$addressMap->put($user1, new Address('Apple str 18'));
$addressMap[$user2] = new Address('Banana str 19'); // php way

echo $map->get($user1)->street; // Output: Apple str 18

// php way
echo $map[$user1]->street; // Output: Apple str 18

贡献

欢迎对 php-utils-ds 库的贡献。如果您发现错误或想添加新功能,请随时打开问题或提交拉取请求。

许可

php-utils-ds 在 MIT 许可证 下授权。