array

package
v0.0.0-...-d7c879d Latest Latest
Warning

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

Go to latest
Published: Oct 24, 2023 License: Apache-2.0 Imports: 2 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Array

type Array interface {
	fmt.Stringer

	common.SortAble

	Size() int

	IsEmpty() bool

	Add(index int, item ...interface{})

	AddFirst(item ...interface{})

	AddLast(item ...interface{})

	Remove(index int) (interface{}, error)

	RemoveFirst() (interface{}, error)

	RemoveLast() (interface{}, error)

	RemoveElement(value interface{})

	RemoveIfMatch(matchFunc func(interface{}) bool) int

	RemoveAllElement(value interface{}) int

	Set(index int, value interface{})

	Get(index int) (interface{}, error)

	GetFirst() (interface{}, error)

	GetLast() (interface{}, error)

	Contains(value interface{}) bool

	FindFirst(value interface{}) int

	FindLast(value interface{}) int
}

type DynamicArray

type DynamicArray struct {
	// contains filtered or unexported fields
}

动态数组,具有缩容和扩容的能力 扩容策略: 当元素个数要大于容量的时候,扩容为二倍 缩容策略: 当元素个数等于容量的1/4的时候进行缩容,缩容为当前容量1/2(1/4缩容为1/2是避免复杂度的震荡)

func CreateDynamicArray

func CreateDynamicArray(capacity int) *DynamicArray

创建自定义容量的自定义扩容策略动态数组

func CreateDynamicArrayDefault

func CreateDynamicArrayDefault() *DynamicArray

创建默认容量的自定义扩容策略动态数组

func (*DynamicArray) Add

func (array *DynamicArray) Add(index int, item ...interface{})

func (*DynamicArray) AddFirst

func (array *DynamicArray) AddFirst(item ...interface{})

func (*DynamicArray) AddLast

func (array *DynamicArray) AddLast(item ...interface{})

func (DynamicArray) Contains

func (array DynamicArray) Contains(value interface{}) bool

func (DynamicArray) FindFirst

func (array DynamicArray) FindFirst(value interface{}) int

func (DynamicArray) FindLast

func (array DynamicArray) FindLast(value interface{}) int

func (DynamicArray) Get

func (array DynamicArray) Get(index int) (interface{}, error)

func (DynamicArray) GetFirst

func (array DynamicArray) GetFirst() (interface{}, error)

func (DynamicArray) GetLast

func (array DynamicArray) GetLast() (interface{}, error)

func (DynamicArray) IsEmpty

func (array DynamicArray) IsEmpty() bool

func (*DynamicArray) Iterator

func (array *DynamicArray) Iterator(iteratorFunc func(iterator common.Iterator) bool)

func (*DynamicArray) Remove

func (array *DynamicArray) Remove(index int) (interface{}, error)

func (*DynamicArray) RemoveAllElement

func (array *DynamicArray) RemoveAllElement(value interface{}) int

func (*DynamicArray) RemoveElement

func (array *DynamicArray) RemoveElement(value interface{})

func (*DynamicArray) RemoveFirst

func (array *DynamicArray) RemoveFirst() (interface{}, error)

func (*DynamicArray) RemoveIfMatch

func (array *DynamicArray) RemoveIfMatch(matchFunc func(interface{}) bool) int

func (*DynamicArray) RemoveLast

func (array *DynamicArray) RemoveLast() (interface{}, error)

func (DynamicArray) Set

func (array DynamicArray) Set(index int, value interface{})

func (DynamicArray) Size

func (array DynamicArray) Size() int

func (DynamicArray) String

func (array DynamicArray) String() string

func (DynamicArray) ToSlice

func (array DynamicArray) ToSlice() []interface{}

type DynamicArrayIterator

type DynamicArrayIterator struct {
	// contains filtered or unexported fields
}

sliceArray迭代器,用于再遍历的过程中删除元素和修改元素

func (DynamicArrayIterator) Get

func (iterator DynamicArrayIterator) Get() (interface{}, error)

获取value

func (*DynamicArrayIterator) Remove

func (iterator *DynamicArrayIterator) Remove()

删除节点

func (DynamicArrayIterator) Set

func (iterator DynamicArrayIterator) Set(value interface{}) error

修改节点的值

type SliceArray

type SliceArray []interface{}

基于切片实现动态数组,使用切片本身的扩容策略 size 表示当前有效存储的元素的数量 因为Array是结构体,所以默认是值传递的,不会像内建结构slice一样默认传递指针的值

func CreateSliceArray

func CreateSliceArray(size int, capacity int) *SliceArray

创建动态数组

func CreateSliceArrayDefault

func CreateSliceArrayDefault() *SliceArray

创建默认大小的动态数组

func (*SliceArray) Add

func (array *SliceArray) Add(index int, item ...interface{})

add item into SliceArray

func (*SliceArray) AddFirst

func (array *SliceArray) AddFirst(item ...interface{})

在元素插入元素

func (*SliceArray) AddLast

func (array *SliceArray) AddLast(item ...interface{})

在元素尾部插入元素

func (*SliceArray) Contains

func (array *SliceArray) Contains(value interface{}) bool

查看动态数据中是否包含某个元素

func (*SliceArray) FindFirst

func (array *SliceArray) FindFirst(value interface{}) int

查看某个元素的第一个索引

func (*SliceArray) FindLast

func (array *SliceArray) FindLast(value interface{}) int

查看某一个元素的最后一个索引

func (*SliceArray) Get

func (array *SliceArray) Get(index int) (interface{}, error)

查询数组中的元素 范围是 [0,len()-1]

func (*SliceArray) GetFirst

func (array *SliceArray) GetFirst() (interface{}, error)

获取第一个元素

func (*SliceArray) GetLast

func (array *SliceArray) GetLast() (interface{}, error)

获取最后一个元素

func (*SliceArray) IsEmpty

func (array *SliceArray) IsEmpty() bool

数组是否为空

func (*SliceArray) Iterator

func (array *SliceArray) Iterator(iteratorFunc func(iterator common.Iterator) bool)

可以删除和设置节点值的迭代器

func (*SliceArray) Remove

func (array *SliceArray) Remove(index int) (interface{}, error)

delete item of SliceArray 需要注意的是[]运算符的优先级高于*

func (*SliceArray) RemoveAllElement

func (array *SliceArray) RemoveAllElement(value interface{}) int

删除某一个元素值,用一个新的动态数组来接收结果

func (*SliceArray) RemoveElement

func (array *SliceArray) RemoveElement(value interface{})

删除某一个元素的第一个index

func (*SliceArray) RemoveFirst

func (array *SliceArray) RemoveFirst() (interface{}, error)

删除第一个元素

func (*SliceArray) RemoveIfMatch

func (array *SliceArray) RemoveIfMatch(matchFunc func(interface{}) bool) int

按照条件删除元素 返回删除元素的个数

func (*SliceArray) RemoveLast

func (array *SliceArray) RemoveLast() (interface{}, error)

删除最后一个元素

func (*SliceArray) Set

func (array *SliceArray) Set(index int, value interface{})

修改数组中的元素 范围是 [0,len()-1]

func (*SliceArray) Size

func (array *SliceArray) Size() int

get size of SliceArray

func (*SliceArray) String

func (array *SliceArray) String() string

func (*SliceArray) ToSlice

func (array *SliceArray) ToSlice() []interface{}

转化为slice

type SliceArrayIterator

type SliceArrayIterator struct {
	// contains filtered or unexported fields
}

sliceArray迭代器,用于再遍历的过程中删除元素和修改元素

func (*SliceArrayIterator) Get

func (iterator *SliceArrayIterator) Get() (interface{}, error)

获取value

func (*SliceArrayIterator) Remove

func (iterator *SliceArrayIterator) Remove()

删除节点

func (*SliceArrayIterator) Set

func (iterator *SliceArrayIterator) Set(value interface{}) error

修改节点的值

Jump to

Keyboard shortcuts

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