相关疑难解决方法(0)

按字母顺序排列arraylist(不区分大小写)

我有一个字符串arraylist names,其中包含人的名字.我想按字母顺序对arraylist进行排序.

ArrayList<String> names = new ArrayList<String>();
names.add("seetha");
names.add("sudhin");
names.add("Swetha");
names.add("Neethu");
names.add("ananya");
names.add("Athira");
names.add("bala");
names.add("Tony");
names.add("Karthika");
names.add("Nithin");
names.add("Vinod");
names.add("jeena");
Collections.sort(names);
for(int i=0; i<names.size(); i++)
    System.out.println(names.get(i));
Run Code Online (Sandbox Code Playgroud)

我尝试以上述方式对列表进行排序.但是它将排序的数组显示为:

Athira
Karthika
..
..
ananya
bala
...
Run Code Online (Sandbox Code Playgroud)

但我不想让它区分大小写.我希望结果如下:

ananya
Athira
bala
Run Code Online (Sandbox Code Playgroud)

java sorting arraylist

115
推荐指数
5
解决办法
22万
查看次数

对可能包含数字的字符串进行排序

我需要编写一个Java Comparator类来比较Strings,但是有一个转折.如果它比较的两个字符串在字符串的开头和结尾是相同的,并且不同的中间部分是整数,则根据这些整数的数值进行比较.例如,我希望以下字符串以它们显示的顺序结束:

  • AAA
  • bbb 3 ccc
  • bbb 12 ccc
  • ccc 11
  • DDD
  • eee 3 ddd jpeg2000 eee
  • eee 12 ddd jpeg2000 eee

如您所见,字符串中可能还有其他整数,因此我不能只使用正则表达式来分解任何整数.我正在考虑从一开始就走绳子,直到找到一点不匹配,然后走到最后,直到找到一个不匹配的位,然后比较中间的位到正则表达式"[0-9] +",如果比较,则进行数值比较,否则进行词法比较.

有没有更好的办法?

更新我不认为我可以保证字符串中的其他数字,可能匹配的数字,周围没有空格,或者不同的数字确实有空格.

java sorting string algorithm comparison

73
推荐指数
6
解决办法
8万
查看次数

Java字符串数字比较器

我有一个方法返回需要排序的String列表.但是,我遇到了旧的字符串编号排序问题,并想知道是否有人可以协助比较器实现或指向我的方向.

该列表将返回一个列表:

State Lower Legislative District 1
State Lower Legislative District 11
State Lower Legislative District 12
...
State Lower Legislative District 2
...
State Lower Legislative District 100
...
State Upper Legislative District 1
State Upper Legislative District 11
...
Run Code Online (Sandbox Code Playgroud)

所以,首先我需要做一个基本的String排序,但是我需要按数字排序.要排序的数字应该总是跟踪,可能是2或3位数.

(编辑)我最初的想法是在空格上拆分字符串,在数字部分运行StringUtils.isNumeric,然后排序.然而,这对我来说似乎有点困难.

有人可以帮忙吗?

java natural-sort

8
推荐指数
2
解决办法
2万
查看次数

是否有比较器"自然地"排序可能包含数字的字符串,番石榴?

ComparatorGuava中是否有一个实现以"自然"方式对字符串进行排序,可能包含数字?
例如:
"a 8"
"a 9"
"a 10"

我找到了一些有趣的链接,但看起来guava中没有任何东西可以完成这项工作......

StackOverflow:"对可能包含数字的字符串进行排序"对Alphanum算法的
一个很好的解释

java sorting string guava

8
推荐指数
1
解决办法
3591
查看次数

为什么在Sort()之后的ArrayList的开头10

问题是我有这个问题.我知道为什么它在开头,因为它是1和0,因此它在9之前甚至在排序之后.但是,使用lists sort()方法可以使用正确的顺序吗?

java sorting arraylist

3
推荐指数
1
解决办法
456
查看次数

排序String对象

我只是想看看是否有一种简单的方法来对String对象列表进行排序.我现在面临的问题是Collections.sort(...)方法对我不起作用.

这是我的原始列表,根据我的要求目的排序:

    List<String> values = new ArrayList<String>();


    values.add("section_1");
    values.add("section_2");
    values.add("section_3");
    values.add("section_4");
    values.add("section_5");
    values.add("section_6");
    values.add("section_7");
    values.add("section_8");
    values.add("section_9");
    values.add("section_10");
    values.add("section_11");
    values.add("section_12");
    values.add("section_13");
Run Code Online (Sandbox Code Playgroud)

在完成Collections.sort(values)之后,订单现在被破坏了:

section_1
section_10
section_11 
section_12
section_13
section_2
section_3
section_4
section_5
section_6
section_7
section_8
section_9
Run Code Online (Sandbox Code Playgroud)

这是因为Collections.sort(...)中使用的词典排序吗?是否有更简单的方法使这种排序按我想要的方式工作?

提前致谢.

java sorting collections

1
推荐指数
1
解决办法
115
查看次数

在这种情况下,TreeMap无法正确排序

要复制HashMap到的语句序列TreeMap

private Map<String,Bitmap> imageFilexx= new HashMap<String,Bitmap>();

//Assuming map has values
printMap(imageFilexx);
TreeMap<String,Bitmap> imageFilexxS;
imageFilexxS= new TreeMap<String,Bitmap>(imageFilexx);
printMap(imageFilexxS);
Run Code Online (Sandbox Code Playgroud)

功能显示在地图上方:

public static void printMap(Map<String, Bitmap> map) {
        for (Map.Entry entry : map.entrySet()) {
            System.out.println("Key : " + entry.getKey());
        }
    }
Run Code Online (Sandbox Code Playgroud)

输入:

Key : http://myserver.com/myfolder/ImageDesc/ImageDesc%20p7.png  
Key : http://myserver.com/myfolder/ImageDesc/ImageDesc%20p1.png 
Key : http://myserver.com/myfolder/ImageDesc/ImageDesc%20p5.png 
Key : http://myserver.com/myfolder/ImageDesc/ImageDesc%20p3.png 
Key : http://myserver.com/myfolder/ImageDesc/ImageDesc%20p11.png 
Key : http://myserver.com/myfolder/ImageDesc/ImageDesc%20p9.png 
Run Code Online (Sandbox Code Playgroud)

目前的O/P:

Key : http://myserver.com/myfolder/ImageDesc/ImageDesc%20p1.png
Key : http://myserver.com/myfolder/ImageDesc/ImageDesc%20p11.png //11 should be displayed in the last 
Key : http://myserver.com/myfolder/ImageDesc/ImageDesc%20p3.png 
Key : http://myserver.com/myfolder/ImageDesc/ImageDesc%20p5.png …
Run Code Online (Sandbox Code Playgroud)

java sorting

1
推荐指数
1
解决办法
80
查看次数

在Android中使用自然排序顺序对ArrayList进行排序?

private ArrayList<String> mArrayList = new ArrayList<String>();

    mArrayList.clear();

    mArrayList.add("test 3");
    mArrayList.add("test 21");
    mArrayList.add("test 4");
    mArrayList.add("test 6");
    mArrayList.add("test 1");

    Collections.sort(mArrayList);

    for (int i = 0; i < mArrayList.size(); i++) {

        Log.e("TAG", "" + mArrayList.get(i));
    }
Run Code Online (Sandbox Code Playgroud)

结果是:

test 1
test 21
test 3
test 4
test 6
Run Code Online (Sandbox Code Playgroud)

但我想要:

test 1
test 3
test 4
test 6
test 21
Run Code Online (Sandbox Code Playgroud)

我把它排序但不完美,怎么做,我不知道,如果你有任何想法,请与我分享.

java android arraylist natural-sort

1
推荐指数
1
解决办法
1347
查看次数

排序字母和数字的arraylist

我正在尝试对由数字和字母组成的字符串的arylylist进行排序,列表的一个示例一旦排序将是:

name 1
name 2
name 3
name 11
name 12
name 13
Run Code Online (Sandbox Code Playgroud)

但是当我使用collections.sort()时,它会这样排序:

name 1
name 11
name 12
name 13
name 2
name 3
Run Code Online (Sandbox Code Playgroud)

任何想法,我正在寻找的那种类型将被称为或如何做?

java

0
推荐指数
1
解决办法
2775
查看次数

对包含带数字的字符串的Arraylist进行排序

我有一个由字符串组成的ArrayList.这个ArrayList包含......

"60分钟""120分钟""30分钟"

如果我使用Collections.sort(ArrayList);它首先导致"120分钟".这是因为"120"中的"1"明显小于"30"中的"3"

有没有一种简单的方法可以对这个ArrayList进行排序,使其显示为......

"30分钟""60分钟""120分钟"

java sorting arraylist

-1
推荐指数
1
解决办法
171
查看次数