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 }