mirror of
https://github.com/emirpasic/gods
synced 2024-11-18 09:25:50 +00:00
47 lines
1.8 KiB
Go
47 lines
1.8 KiB
Go
/*
|
|
Copyright (c) Emir Pasic, All rights reserved.
|
|
|
|
This library is free software; you can redistribute it and/or
|
|
modify it under the terms of the GNU Lesser General Public
|
|
License as published by the Free Software Foundation; either
|
|
version 3.0 of the License, or (at your option) any later version.
|
|
|
|
This library is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
Lesser General Public License for more details.
|
|
|
|
You should have received a copy of the GNU Lesser General Public
|
|
License along with this library. See the file LICENSE included
|
|
with this distribution for more information.
|
|
*/
|
|
|
|
// Package lists provides abstract List interface for that all concrete lists should implement.
|
|
//
|
|
// 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{})
|
|
|
|
containers.Container
|
|
// Empty() bool
|
|
// Size() int
|
|
// Clear()
|
|
// Values() []interface{}
|
|
}
|