PHP 类 Java 收集(列表、集合、映射)
0.0.0
2023-08-03 10:36 UTC
Requires
- php: ^8.2
Requires (Dev)
- phpstan/phpstan: ^1.10
- phpunit/phpunit: ^10.2
- psalm/plugin-phpunit: ^0.18.4
- roave/security-advisories: dev-latest
- symfony/var-dumper: ^6.3
- vimeo/psalm: ^5.14
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 许可证 下授权。