Add IndexOf method to ArrayList

pull/69/head
Mahadev 7 years ago
parent 8a038b0103
commit f246a54621

@ -98,6 +98,18 @@ func (list *List) Values() []interface{} {
return newElements
}
//IndexOf returns index of provided element
func (list *List) IndexOf(value interface{}) int{
if list.size == 0 {
return -1
}
for index, element := range list.elements {
if element == value {
return index
}
}
return -1
}
// Empty returns true if list does not contain any elements.
func (list *List) Empty() bool {
return list.size == 0

@ -6,8 +6,9 @@ package arraylist
import (
"fmt"
"github.com/emirpasic/gods/utils"
"testing"
"github.com/emirpasic/gods/utils"
)
func TestListAdd(t *testing.T) {
@ -25,6 +26,33 @@ func TestListAdd(t *testing.T) {
}
}
func TestListIndexOf(t *testing.T) {
list := New()
expectedIndex := -1
if index := list.IndexOf("a"); index != expectedIndex{
t.Errorf("Got %v expected %v",index,expectedIndex)
}
list.Add("a")
list.Add("b", "c")
expectedIndex = 0
if index := list.IndexOf("a"); index != expectedIndex{
t.Errorf("Got %v expected %v",index,expectedIndex)
}
expectedIndex = 1
if index := list.IndexOf("b"); index != expectedIndex{
t.Errorf("Got %v expected %v",index,expectedIndex)
}
expectedIndex = 2
if index := list.IndexOf("c"); index != expectedIndex{
t.Errorf("Got %v expected %v",index,expectedIndex)
}
}
func TestListRemove(t *testing.T) {
list := New()
list.Add("a")

Loading…
Cancel
Save