mirror of
https://github.com/rocky-linux/peridot.git
synced 2024-11-18 03:11:24 +00:00
34 lines
1.3 KiB
Go
34 lines
1.3 KiB
Go
// Copyright (c) 2015, Emir Pasic. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style
|
|
// license that can be found in the LICENSE file.
|
|
|
|
// Package lists provides an abstract List interface.
|
|
//
|
|
// In computer science, a list or sequence is an abstract data type that represents an ordered sequence of values, where the same value may occur more than once. An instance of a list is a computer representation of the mathematical concept of a finite sequence; the (potentially) infinite analog of a list is a stream. Lists are a basic example of containers, as they contain other values. If the same value occurs multiple times, each occurrence is considered a distinct item.
|
|
//
|
|
// Reference: https://en.wikipedia.org/wiki/List_%28abstract_data_type%29
|
|
package lists
|
|
|
|
import (
|
|
"github.com/emirpasic/gods/containers"
|
|
"github.com/emirpasic/gods/utils"
|
|
)
|
|
|
|
// List interface that all lists implement
|
|
type List interface {
|
|
Get(index int) (interface{}, bool)
|
|
Remove(index int)
|
|
Add(values ...interface{})
|
|
Contains(values ...interface{}) bool
|
|
Sort(comparator utils.Comparator)
|
|
Swap(index1, index2 int)
|
|
Insert(index int, values ...interface{})
|
|
Set(index int, value interface{})
|
|
|
|
containers.Container
|
|
// Empty() bool
|
|
// Size() int
|
|
// Clear()
|
|
// Values() []interface{}
|
|
}
|