当我使用
时arraylist.sort()
方法按顺序显示按字母顺序排列的字符串,但不按顺序显示数字值。
例如
我有像
这样的arraylist1
22
21
34
27
68
100
我正在使用vb.net对这个数组列表进行排序,然后显示输出
1
100
22
21
27
34
68
这意味着排序已完成,但是他们在字符串的第一个字符上对数组列表进行排序,但我需要按顺序排序
1
21
22
27
34
68
100
并且当我添加字母表时,它也起作用。
答案 0 :(得分:2)
如果您不能使用Integer
作为数字字符串(然后按预期排序),您可以使用Int32.Parse
转换字符串并使用Sort
-overload IComparer
:
arraylist.Sort(Comparer(Of String).Create(Function(s1,s2) Int32.Parse(s1).CompareTo(Int32.Parse(s2))))
当然,只有当所有项目都是可以转换为Integer
的字符串时才有效,这就引发了一个问题,即您未使用List(Of String)
/ List(Of Int32)
第一名。
答案 1 :(得分:1)
Caused by: java.lang.IllegalStateException: The 'filter' and 'locker' options must be present on the provided external 'scanner': org.springframework.integration.file.WatchServiceDirectoryScanner@2f6e5d3e
at org.springframework.util.Assert.state(Assert.java:392) ~[spring-core-4.2.2.RELEASE.jar:4.2.2.RELEASE]
at org.springframework.integration.file.FileReadingMessageSource.onInit(FileReadingMessageSource.java:256) ~[spring-integration-file-4.2.8.RELEASE.jar:na]
at org.springframework.integration.context.IntegrationObjectSupport.afterPropertiesSet(IntegrationObjectSupport.java:155) ~[spring-integration-core-4.2.8.RELEASE.jar:na]
at org.springframework.integration.file.config.FileReadingMessageSourceFactoryBean.initSource(FileReadingMessageSourceFactoryBean.java:177) ~[spring-integration-file-4.2.8.RELEASE.jar:na]
at org.springframework.integration.file.config.FileReadingMessageSourceFactoryBean.getObject(FileReadingMessageSourceFactoryBean.java:111) ~[spring-integration-file-4.2.8.RELEASE.jar:na]
at org.springframework.integration.file.config.FileReadingMessageSourceFactoryBean.getObject(FileReadingMessageSourceFactoryBean.java:40) ~[spring-integration-file-4.2.8.RELEASE.jar:na]
at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:168) ~[spring-beans-4.2.2.RELEASE.jar:4.2.2.RELEASE]
... 65 common frames omitted
和
Dim list As New ArrayList '- items as string
list.Add("1")
list.Add("100")
list.Add("2")
是不同的。所以你应该相应地向你的arraylist添加项目
答案 2 :(得分:0)
您的arrayList可能包含字符串而不是数字。将其更改为数字,它将根据整数类型进行排序。