@@ -54,37 +54,25 @@ class PersistentListGenerator {
5454
5555 object HeadSubList : TestStringListGenerator() {
5656 override fun create (elements : Array <out String >): List <String > {
57- val suffix = arrayOf(" f" , " g" )
58- val all = Array (elements.size + suffix.size) {
59- if (it < elements.size) elements[it] else suffix[it - elements.size]
60- }
61- return persistentListOf<String >().addAll(all.toList())
57+ return persistentListOf<String >()
58+ .addAll(listOf (* elements, " f" , " g" ))
6259 .subList(0 , elements.size)
6360 }
6461 }
6562
6663 object TailSubList : TestStringListGenerator() {
6764 override fun create (elements : Array <String >): List <String > {
68- val prefix = arrayOf(" f" , " g" )
69- val all = Array (elements.size + prefix.size) {
70- if (it < prefix.size) prefix[it] else elements[it - prefix.size]
71- }
72- return persistentListOf<String >().addAll(all.toList())
65+ return persistentListOf<String >()
66+ .addAll(listOf (" f" , " g" , * elements))
7367 .subList(2 , elements.size + 2 )
7468 }
7569 }
7670
7771 object MiddleSubList : TestStringListGenerator() {
7872 override fun create (elements : Array <String >): List <String > {
79- val prefix = arrayOf(" f" , " g" )
80- val suffix = arrayOf(" h" , " i" )
8173
82- val all = arrayOfNulls<String >(2 + elements.size + 2 )
83- System .arraycopy(prefix, 0 , all, 0 , 2 )
84- System .arraycopy(elements, 0 , all, 2 , elements.size)
85- System .arraycopy(suffix, 0 , all, 2 + elements.size, 2 )
86-
87- return persistentListOf<String >().addAll(all.toList() as List <String >)
74+ return persistentListOf<String >()
75+ .addAll(listOf (" f" , " g" , * elements, " h" , " i" ))
8876 .subList(2 , elements.size + 2 )
8977 }
9078 }
@@ -125,37 +113,24 @@ class PersistentListGenerator {
125113
126114 object HeadSubList : TestStringListGenerator() {
127115 override fun create (elements : Array <out String >): MutableList <String > {
128- val suffix = arrayOf(" f" , " g" )
129- val all = Array (elements.size + suffix.size) {
130- if (it < elements.size) elements[it] else suffix[it - elements.size]
131- }
132- return persistentListOf<String >().builder().apply { addAll(all.toList()) }
116+ return persistentListOf<String >().builder()
117+ .apply { addAll(listOf (* elements, " f" , " g" )) }
133118 .subList(0 , elements.size)
134119 }
135120 }
136121
137122 object TailSubList : TestStringListGenerator() {
138123 override fun create (elements : Array <String >): MutableList <String > {
139- val prefix = arrayOf(" f" , " g" )
140- val all = Array (elements.size + prefix.size) {
141- if (it < prefix.size) prefix[it] else elements[it - prefix.size]
142- }
143- return persistentListOf<String >().builder().apply { addAll(all.toList()) }
124+ return persistentListOf<String >().builder()
125+ .apply { addAll(listOf (" f" , " g" , * elements)) }
144126 .subList(2 , elements.size + 2 )
145127 }
146128 }
147129
148130 object MiddleSubList : TestStringListGenerator() {
149131 override fun create (elements : Array <String >): MutableList <String > {
150- val prefix = arrayOf(" f" , " g" )
151- val suffix = arrayOf(" h" , " i" )
152-
153- val all = arrayOfNulls<String >(2 + elements.size + 2 )
154- System .arraycopy(prefix, 0 , all, 0 , 2 )
155- System .arraycopy(elements, 0 , all, 2 , elements.size)
156- System .arraycopy(suffix, 0 , all, 2 + elements.size, 2 )
157-
158- return persistentListOf<String >().builder().apply { addAll(all.toList() as List <String >) }
132+ return persistentListOf<String >().builder()
133+ .apply { addAll(listOf (" f" , " g" , * elements, " h" , " i" )) }
159134 .subList(2 , elements.size + 2 )
160135 }
161136 }
0 commit comments