對AarrayList進行排序

2021-04-06 19:42:51 字數 2554 閱讀 4364

對aarraylist進行排序

要對arraylist進行排序還不容易嗎?用sort()方法。非常容易解決的。但是事情真的那麼簡單嗎?

如果情況是這樣的:

dimal

asnew

system.collections.arraylist

dim

syncal

assystem.collections.arraylist

syncal = system.collections.arraylist.synchronized(al)

syncal.add("abc")

syncal.add("def")

syncal.add("hijklmnop")

要進行排序,就這樣呼叫sort()方法:

syncal.sort()

這樣作當然是正確的,但是如果需要的是倒序又該怎麼辦?答案是實現system.collections.icomparer介面。如下所示:

public

class

desc

implements

system.collections.icomparer

public

function

compare(

byval

x as

object

, byval

y as

object

) as

integer

implements

system.collections.icomparer.compare if

x > y

then

return-1

endif if

x < y

then

return1

endif if

x = y

then

return0

endif

end

function

end

class

然後在呼叫arraylist的sort()方法時把該類的乙個例項作為引數傳遞給sort()方法。

console.writeline("")

syncal.sort(new

desc)

for

each

obj

asobject

insyncal

console.writeline(obj.tostring)

next

這樣就按照倒序排列了。

完整的**如下:

module

module1

sub

main()

dim

al as

newsystem.collections.arraylist

dim

syncal

assystem.collections.arraylist

syncal = system.collections.arraylist.synchronized(al)

syncal.add("hijklmnop")

syncal.add("abc")

syncal.add("def")

syncal.sort()

for

each

obj

asobject

insyncal

console.writeline(obj.tostring)

next

console.writeline("")

syncal.sort(

newdesc)

for

each

obj

asobject

insyncal

console.writeline(obj.tostring)

next

console.readline()

end

sub

public

class

desc

implements

system.collections.icomparer

public

function

compare(

byval

x as

object

, byval

y as

object

) as

integer

implements

system.collections.icomparer.compare if

x > y

then

return-1

endif if

x < y

then

return1

endif if

x = y

then

return0

endif

end

function

end

class

end

module

對字典進行排序

通常我們在日常工作中會對字典進行排序,如下面的這種情況 這是乙個介面返回的json資料 2018 06 02 2018 06 03 2018 06 04 2018 06 05 2018 06 06 2018 06 07 我們要取到result對應的值,然後去根據條件進行排序,便於分析觀察資料 imp...

對int array進行排序

今天再學習一些c 的基礎知識,如對 int array進行排序 你可以在控制台應用程式中,建立乙個類別,它屬性和2個建構函式 接下來,我在這個類別中,新增我們處理資料的方法 如我們需要在螢幕中輸出的結果 private void output int sortresult private void ...

python 對字典進行排序

import itertools thekeys b a c thevalues bbb aaa cccc d dict itertools.izip thekeys,thevalues 建立字典 print d def sorteddictvalue adict keys adict.keys k...