github.com/mymmsc/gox@v1.3.33/util/lists.go (about)

     1  // Copyright (c) 2015, Emir Pasic. All rights reserved.
     2  // Use of this source code is governed by a BSD-style
     3  // license that can be found in the LICENSE file.
     4  
     5  // Package lists provides an abstract List interface.
     6  //
     7  // 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.
     8  //
     9  // Reference: https://en.wikipedia.org/wiki/List_%28abstract_data_type%29
    10  package util
    11  
    12  // List interface that all lists implement
    13  type List interface {
    14  	Get(index int) (interface{}, bool)
    15  	Remove(index int)
    16  	Add(values ...interface{})
    17  	Contains(values ...interface{}) bool
    18  	Sort(comparator Comparator)
    19  	Swap(index1, index2 int)
    20  	Insert(index int, values ...interface{})
    21  	Set(index int, value interface{})
    22  
    23  	Container
    24  	// Empty() bool
    25  	// Size() int
    26  	// Clear()
    27  	// Values() []interface{}
    28  }