gpt4 book ai didi

java - 排序字母数字字符串java

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:13:00 24 4
gpt4 key购买 nike

我有这个数组存储用户添加的一些 URL 的后缀:

[U2, U3, U1, U5, U8, U4, U7, U6]

当我这样做时:

for (Map<String, String> map : getUrlAttachments()) {
String tmpId = map.get("id"); //it receives the U2, in the 1st iteration, then U3, then U1,...
if (tmpId.charAt(0) == 'U') {
tmpId.charAt(1);//2, then 3, then 1,...
String url = map.get("url");
String description = map.get("description");
URLAttachment attachment;
String cleanup = map.get("cleanup");
if (cleanup == null && url != null && description != null) {
attachment = new URLAttachmentImpl();
attachment.setOwnerClass(FileUploadOwnerClass.Event.toString());
attachment.setUrl(url);
attachment.setDescription(description);
attachment.setOwnerId(auctionHeaderID);
attachment.setUrlAttachmentType(URLAttachmentTypeEnum.EVENT_ATTACHMENT);
attachment.setDateAdded(new Date());
urlBPO.save(attachment);

}

我的问题:

我想通过传递另一个映射数据的列表来更改此 For 条件,如 [U1, U2, U3, U4, U5, U6, U7, U8] .

我希望得到你的帮助,以了解我能做到这一点的最佳方式是什么。

我考虑过创建一个列出 id 的数组,然后进行排序,但我不知道如何在 java 中对字母数字字符串进行排序。

最佳答案

在创建值的 ArrayList 后,只需使用 Collections.sort() 方法,如下所示:

ArrayList<String> a = new ArrayList<String>();
a.add("U2");
a.add("U1");
a.add("U5");
a.add("U4");
a.add("U3");
System.out.println("Before : "+a);
Collections.sort(a);
System.out.println("After : "+a);

输出:

Before : [U2, U1, U5, U4, U3]
After : [U1, U2, U3, U4, U5]

关于java - 排序字母数字字符串java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14337682/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com