按字典顺序在ArrayList(Java)中返回最大String的位置

问题描述 投票:-5回答:1

我有一个编码类的问题,我必须在arraylist中返回最大字符串(按字典顺序)的位置。我不知道从哪里开始,有人可以帮我解决这个问题吗?>

java arraylist
1个回答
0
投票

Comparator类允许您非常干净地在List上强加订单。

List<String> data = new ArrayList<>();
data.sort(Comparator.comparing(String::length).reversed());
data.get(0); // Will return the largest String

这将使用String length()方法对List进行排序并反转顺序,以便它首先对最大的String进行排序。请注意,您可以添加子排序,以便确定关系如何被破坏(对象被比较为相同)。为此,请按重要性顺序对数据进行排序,从最小开始。

data.sort(Comparator.comparing(String::hashCode));
data.sort(Comparator.comparing(String::length).reversed());

将使用hashCode()方法然后通过length()进行排序。这将具有按长度排序的效果,其中通过hashCode(通常尝试唯一地区分对象)来破坏关系。

© www.soinside.com 2019 - 2024. All rights reserved.