我有一个分裂String
部分的数组:
String[] message = input.split("\\|");
String[] parts;
for (String line : message) {
parts = line.split("-");
//insert code here
}
拆分后的 parts
如下所示:
[MO, KB, 001]
[MO, PR, 001]
[MO, PR, 002]
其中MO表示MOUSE,KB =键盘,PR =打印机等。
如何提取元素中的数字(例如001,002)并将其添加到Map
以用作Key
,而Values
是是相应的设备密钥,例如MO,PR等确保没有重复的密钥和密钥的值?这样就可以遍历地图并处理每个设备的键集......
public interface Device {
void create();
void fix();
}
public Printer implements Device {
public void create() {
//logic to create
}
当我查找要针对特定密钥创建的设备列表时,我应该获得List
Devices
映射到该密钥的Devices
。对于每个密钥,我想创建映射到它的String
。例如。 for key = 001创建MO,PR& KB设备。如何将这些create()
值设备密钥映射到相应的实现类,以便在调用drop
时,它使用子类型的实现方法创建设备。
答案 0 :(得分:1)
Route::group(['prefix' => 'admin'], function () {
$this->app->bind('view.finder', function ($app) {
$paths = [realpath(base_path('resources/views/admin'))];
return new \Illuminate\View\FileViewFinder($app['files'], $paths);
});
// ...
答案 1 :(得分:0)
我并不完全清楚你在每一步中所期待的是什么。
从MO-KB-001|MO-PR-001|MO-PR-002
开始,您需要一张新地图,其中包含:
001 - KB
001 - MO
001 - PR
002 - PR
002 - MO
(即一个001-MO
被删除)
您正在寻找的是Apache的SetValuedMap<>