Starsector API
Loading...
Searching...
No Matches
ListMap.java
Go to the documentation of this file.
1
package
com.fs.starfarer.api.util;
2
3
import
java.util.ArrayList;
4
import
java.util.LinkedHashMap;
5
import
java.util.List;
6
7
public
class
ListMap
<V>
extends
LinkedHashMap<String, List<V>> {
8
private
static
final
long
serialVersionUID = 1L;
9
10
public
void
add
(String key, V value) {
11
if
(value ==
null
)
return
;
12
List<V> list =
getList
(key);
13
list.add(value);
14
}
15
public
void
remove
(String key, V value) {
16
List<V> list =
getList
(key);
17
list.remove(value);
18
if
(list.isEmpty()) {
19
remove
(key);
20
}
21
}
22
23
@Override
24
public
List<V>
get
(Object key) {
25
return
getList
((String) key);
26
}
27
public
List<V>
getList
(String key) {
28
List<V> list = super.get(key);
29
if
(list ==
null
) {
30
list =
new
ArrayList<V>();
31
put(key, list);
32
}
33
return
list;
34
}
35
36
public
void
cleanupEmptyLists
() {
37
for
(String
id
:
new
ArrayList<>(keySet())) {
38
if
(containsKey(
id
) &&
getList
(
id
).isEmpty()) {
39
remove
(id);
40
}
41
}
42
}
43
}
com.fs.starfarer.api.util.ListMap
Definition
ListMap.java:7
com.fs.starfarer.api.util.ListMap.getList
List< V > getList(String key)
Definition
ListMap.java:27
com.fs.starfarer.api.util.ListMap.cleanupEmptyLists
void cleanupEmptyLists()
Definition
ListMap.java:36
com.fs.starfarer.api.util.ListMap.add
void add(String key, V value)
Definition
ListMap.java:10
src
com
fs
starfarer
api
util
ListMap.java
Generated by
1.12.0