|
@@ -72,3 +72,24 @@ func ExtractUnionValue[T comparable](aList, bList []T) []T {
|
|
|
cList = RemoveRepeatElement(cList)
|
|
|
return cList
|
|
|
}
|
|
|
+
|
|
|
+func ExtractASubBSetValue[T comparable](aList, bList []T) []T {
|
|
|
+ aList = RemoveRepeatElement(aList)
|
|
|
+ bList = RemoveRepeatElement(bList)
|
|
|
+ cList := make([]T, 0)
|
|
|
+
|
|
|
+
|
|
|
+ tmpMap := make(map[T]struct{})
|
|
|
+ for _, item := range bList {
|
|
|
+ tmpMap[item] = struct{}{}
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ for _, item := range aList {
|
|
|
+ if _, ok := tmpMap[item]; !ok {
|
|
|
+ cList = append(cList, item)
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return cList
|
|
|
+}
|