利用Collections工具类获取字符串数组中最长的元素

简介: package cn.com; import java.util.Arrays; import java.util.Collections; import java.
package cn.com;
import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
//要求:获取字符串数组中最长的元素
//在这里要利用Collections的另一个max方法
//public static <T> T max(Collection<? extends T> coll, Comparator<? super T> comp)*/
//步骤:
//1 Arrays.asList()将数组转换为List即将数组转换为了一种集合
//2 利用Collections.max()方法,找出最大值
//3 重点是让容器具有可比性,即实现了Comparator接口。相当于是把这个List集合里的东西扔进了容器里
public class Test2 {
	public static void main(String[] args) {
		String[] strArr = new String[] { "cd", "ab", "ddfa", "sd", "zd" };
		List<String> list = Arrays.asList(strArr);
		String maxStr = Collections.max(list, new strSort());
		System.out.println("maxStr=" + maxStr);
	}
}

class strSort implements Comparator<String> {
	@Override
	public int compare(String str1, String str2) {
		if (str1.length() < str2.length()) {
			return -1;
		}
		if (str1.length() == str2.length()) {
			return str1.compareTo(str2);
		} else {
			return 1;
		}
	}
}

相关文章
|
29天前
数组的常用方法
数组的常用方法
13 0
|
6月前
|
Java
Java集合类ArrayList应用 | 如何在字符串s1中删除有在字符串s2出现的字符?
这是一个关于Java编程面试题的摘要,题目要求从字符串s1中删除s2中存在的字符。解题思路包括使用ArrayList或StringBuilder实现。ArrayList实现时,遍历s1,如果字符不在s2中,则添加到ArrayList;StringBuilder实现有两种方法,一是新建StringBuilder并追加s1,然后遍历删除s2中的字符,二是直接在原地修改s1的StringBuilder对象。代码示例中展示了这些方法。
57 3
|
6月前
|
Java
java List数组根据给定大小分割数组
在获取到很长的数组时,一次性处理数据量太大,需要分批处理,这就需要分批处理了。 1、使用List的subList,封装方法 2、google工具类型Lists的partition 经测试个人推荐使用第一种方法,效率上快了10几倍,估计是因为没有重新生成数组的原因
256 8
|
存储 算法 Java
集合工具类的常用方法--小总和
集合工具类的常用方法--小总和
51 0
|
JavaScript 前端开发
数组常用方法
数组常用方法
63 0
|
Java
Java反转List,逆序打印
Java反转List,逆序打印
76 0
|
人工智能 Java
用java实现遍历一个字符串中的每一个字母
用java实现遍历一个字符串中的每一个字母
217 0
|
Java 数据安全/隐私保护 索引
Java中字符串遍历、统计次数、拼接、反转案例及String常用方法
字符串遍历、统计次数、拼接、反转案例及String常用方法的简单示例
515 0
Java中字符串遍历、统计次数、拼接、反转案例及String常用方法
键盘录入一个字符串,统计每个元素出现的次数(Java)
键盘录入一个字符串,统计每个元素出现的次数(Java)
123 0
键盘录入一个字符串,统计每个元素出现的次数(Java)
|
存储 Java
利用Java中的现有方法实现对集合元素进行排序
利用Java中的现有方法实现对集合元素进行排序
187 0