From 5d06966e290097265c9b334eb0da46054fa06c99 Mon Sep 17 00:00:00 2001 From: xtutu Date: Tue, 12 Jun 2018 13:41:35 +0800 Subject: [PATCH] optimize array list --- lists/arraylist/arraylist.go | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/lists/arraylist/arraylist.go b/lists/arraylist/arraylist.go index e2fbcec..c6298ef 100644 --- a/lists/arraylist/arraylist.go +++ b/lists/arraylist/arraylist.go @@ -157,14 +157,8 @@ func (list *List) Insert(index int, values ...interface{}) { l := len(values) list.growBy(l) list.size += l - // Shift old to right - for i := list.size - 1; i >= index+l; i-- { - list.elements[i] = list.elements[i-l] - } - // Insert new - for i, value := range values { - list.elements[index+i] = value - } + copy(list.elements[index+l:], list.elements[index:list.size - l]) + copy(list.elements[index:], values) } // String returns a string representation of container