1234567891011121314151617181920212223242526272829303132333435 |
- package util
- // RemoveRepByMap 通过map主键唯一的特性过滤重复元素
- func RemoveRepByMap(slc []int64) []int64 {
- if len(slc) == 0 {
- return slc
- }
- var result []int64
- tempMap := map[int64]byte{} // 存放不重复主键
- for _, e := range slc {
- l := len(tempMap)
- tempMap[e] = 0
- if len(tempMap) != l { // 加入map后,map长度变化,则元素不重复
- result = append(result, e)
- }
- }
- return result
- }
- // RemoveIntRepByMap 通过map主键唯一的特性过滤重复元素
- func RemoveIntRepByMap(slc []int) []int {
- if len(slc) == 0 {
- return slc
- }
- var result []int
- tempMap := map[int]byte{} // 存放不重复主键
- for _, e := range slc {
- l := len(tempMap)
- tempMap[e] = 0
- if len(tempMap) != l { // 加入map后,map长度变化,则元素不重复
- result = append(result, e)
- }
- }
- return result
- }
|