listUtils

package
v0.0.11 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 16, 2024 License: MIT Imports: 1 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Distinct

func Distinct[T any](src []T, compareFunc func(one, two T) bool) []T

Distinct *****************************************************

  • @Description: list去重
  • @param src
  • @param compareFunc 返回true就去掉返回false保留
  • @return []T *****************************************************

func Filter

func Filter[T any](srcList []T, filterFunc func(item T) bool) []T

Filter *****************************************************

  • @Description: 列表过滤方法
  • @param srcList 源列表
  • @param filterFunc 过率方法, 返回false从列表中去除
  • @return []T 返回一个新列表 *****************************************************

func Find

func Find[T any](srcList []T, mapFunc func(item T) bool) T

Find *****************************************************

  • @Description: 列表中查找元素
  • @param srcList 源列表
  • @param mapFunc 查找过滤方法, true返回
  • @return T *****************************************************

func IsEmpty

func IsEmpty[T any](list []T) bool

func IsNotEmpty

func IsNotEmpty[T any](list []T) bool

func Map

func Map[T, R any](srcList []T, mapFunc func(item T) (bool, R)) []R

Map *****************************************************

  • @Description: 遍历列表根据条件生成新的列表
  • @param srcList 源列表
  • @param mapFunc 生成新列表的实现方法 返回true 将R添加到新的列表
  • @return []R *****************************************************

func StringListDistinct

func StringListDistinct(src []string) []string

StringListDistinct *****************************************************

  • @Description: 字符串列表去重
  • @param src
  • @return []string *****************************************************

Types

type LinkedList

type LinkedList[T any] struct {
	PHead     *LinkedListNode[T]
	PTail     *LinkedListNode[T]
	PCurrent  *LinkedListNode[T]
	ICount    int
	IMaxCount int
	sync.RWMutex
}

func NewLinkedList

func NewLinkedList[T any](max int) *LinkedList[T]

NewLinkedList *****************************************************

  • @Description: 新建单链表
  • @param max
  • @return *LinkedList[T] *****************************************************

func (*LinkedList[T]) PullHead

func (self *LinkedList[T]) PullHead() T

PullHead *****************************************************

  • @Description: 头节点出列,返回数据
  • @receiver self
  • @return T *****************************************************

func (*LinkedList[T]) PullTail

func (self *LinkedList[T]) PullTail() T

PullTail *****************************************************

  • @Description: 尾节点出列,返回数据
  • @receiver self
  • @return T *****************************************************

func (*LinkedList[T]) PushHead

func (self *LinkedList[T]) PushHead(pData T) bool

PushHead *****************************************************

  • @Description: 在头部添加一个数据
  • @receiver self
  • @param pData
  • @return bool *****************************************************

func (*LinkedList[T]) PushIndex

func (self *LinkedList[T]) PushIndex(index int, pData T) bool

PushIndex *****************************************************

  • @Description: 在指定位子添加一个数据
  • @receiver self
  • @param index
  • @param pData
  • @return bool *****************************************************

func (*LinkedList[T]) PushTail

func (self *LinkedList[T]) PushTail(pData T) bool

PushTail *****************************************************

  • @Description: 在尾部添加一个数据
  • @receiver self
  • @param pData
  • @return bool *****************************************************

func (*LinkedList[T]) Trans

func (self *LinkedList[T]) Trans() (list []T)

Trans *****************************************************

  • @Description: 遍历链表,返回列表
  • @receiver self *****************************************************

type LinkedListNode

type LinkedListNode[T any] struct {
	PData        T
	PNext_member *LinkedListNode[T]
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL