feature: added file name utils
This commit is contained in:
@@ -6,3 +6,10 @@ func NewArrayList[T any]() *ArrayList[T] {
|
||||
size: 0,
|
||||
}
|
||||
}
|
||||
|
||||
func NewArrayListWithContent[T any](content ...T) *ArrayList[T] {
|
||||
result := NewArrayList[T]()
|
||||
result.AddAllS(&content)
|
||||
|
||||
return result
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@ package array_list
|
||||
import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"slices"
|
||||
)
|
||||
|
||||
func (self *ArrayList[T]) Add(element T) {
|
||||
@@ -98,6 +99,22 @@ func (self *ArrayList[T]) AddAll(list *ArrayList[T]) {
|
||||
})
|
||||
}
|
||||
|
||||
func (self *ArrayList[T]) AddAllS(slice *[]T) {
|
||||
for _, v := range *slice {
|
||||
self.Add(v)
|
||||
}
|
||||
}
|
||||
|
||||
func (self *ArrayList[T]) SetAll(list *ArrayList[T]) {
|
||||
self.Clear()
|
||||
self.AddAll(list)
|
||||
}
|
||||
|
||||
func (self *ArrayList[T]) SetAllS(list *[]T) {
|
||||
self.Clear()
|
||||
self.AddAllS(list)
|
||||
}
|
||||
|
||||
func (self *ArrayList[T]) Any(test func(T) bool) bool {
|
||||
for index, value := range self.content {
|
||||
if index >= self.size {
|
||||
@@ -148,3 +165,28 @@ func (self *ArrayList[T]) IsEmpty() bool {
|
||||
func (self *ArrayList[T]) String() string {
|
||||
return fmt.Sprintf("%v", self.content)
|
||||
}
|
||||
|
||||
func (self *ArrayList[T]) Clear() {
|
||||
self.content = self.content[:0]
|
||||
}
|
||||
|
||||
func (self *ArrayList[T]) GetLast() T {
|
||||
if self.IsEmpty() {
|
||||
panic(any(errors.New("trying to get last element from empty array list")))
|
||||
}
|
||||
|
||||
return self.Get(self.Size() - 1)
|
||||
}
|
||||
|
||||
func (self *ArrayList[T]) GetFirst() T {
|
||||
if self.IsEmpty() {
|
||||
panic(any(errors.New("trying to get first element from empty array list")))
|
||||
}
|
||||
|
||||
return self.Get(0)
|
||||
}
|
||||
|
||||
func (self *ArrayList[T]) ToSlice() []T {
|
||||
result := slices.Clone(self.content)[:self.size]
|
||||
return result
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user