查找字符串数组中最长的字符串

2023-11-25

问题是我尝试这样做,但我检查字符串长度的方法不起作用;我能做什么来修复它?

public static void main(String[] args) { 
    String[] animalNames = {"cat", "rabbit", "horse", "goat", "rooster", "ooooooooooooooo"};
    String a= getLongestString(animalNames);
    System.out.println(a);
}

public static String getLongestString(String []animalNames) {
  //  String animalNames[] =  {"cat","chicken","horse","ooooooooo" };

    int j = 0;
    for (j = 0; j <= animalNames.length; j++) {
        if (animalNames[j].length() > animalNames[j + 1].length()) {
                return (animalNames[j]);
            }
        }
        return null;
    }

}

使用 java 8+ 非常简单(只需检查您的数组不为空或处理.get()特别):

List<String> strings = Arrays.asList(animals);    
String longest = strings.stream().
    max(Comparator.comparingInt(String::length)).get();
int max = longest.length();

或者,如果您只需要长度:

int max = strings.stream().map(String::length).max(Integer::compareTo).get();

或者,如果你更喜欢单行,那就是:

String longest = Arrays.asList(animals)
     .strings.stream().max(Comparator.comparingInt(String::length)).get();
=AND= 
int max = Arrays.asList(animals)
           .stream().map(String::length).max(Integer::compareTo).get();

好吧,好吧..实际上是两行:-) 享受吧!

UPDATE:

代替 Arrays.asList(animals).strings.stream()可以直接使用Stream.of(animals)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

查找字符串数组中最长的字符串 的相关文章

随机推荐

  • C#:如何从资源文件加载光标?

    我已将文件 x ani 导入到资源文件Resources resx 中 现在尝试使用 ResourceManager GetObject aero busy ani 加载该文件 Cursor Current Cursor Resources
  • ASP.Net MVC 中的线程安全

    我怀疑这也适用于一般的 ASP Net 但我不确定 如果我在控制器上有一个操作方法 比如 MyController DoSomethingExciting 并且三个客户端 同时 点击它 那么它本质上是线程安全的 还是我需要做一些事情来确保三
  • Objective C:我的自定义 -init 方法没有被调用

    我有一个从 UIView 派生的类 我想为其创建一个 init 类 如下所示 id init if self super init my initializations here return self 不幸的是 我知道 init 没有被调
  • 如何在 Apache 2.x 中使用 mod_deflate 预压缩文件?

    我通过 apache 提供所有内容Content Encoding zip但这是动态压缩的 我的大部分内容都是磁盘上的静态文件 我想预先对文件进行 gzip 压缩 而不是每次请求时都对其进行压缩 我相信 这是一件事 mod gzip在 Ap
  • 高效的Python IPC [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 我正在Python3中制作一个应用程序 它将分为batch and gui部分 Batch负责处理逻辑和gui负责显示它 Which 进程间通信 I
  • 如何将微调器添加到 ActionBar?

    我试图让我的微调器作为操作栏下拉列表项工作 但我似乎根本无法实现它 在谷歌搜索后没有太多关于此的教程 我认为它与 setListNavigationCallbacks 有关行代码 我只是不知道如何从该行开始工作 setup action b
  • 倒计时器 - iPhone [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 我想显示倒计时器 我有开始日期和结束日期 我需要显示剩
  • python中大数的阶乘

    这是我的阶乘方法 def factorial n Returns factorial of n r 1 for i in range 1 n 1 r i return r 我认为这非常简单 但我猜你可以做得更有效 因为像 100000 这样
  • 为什么当Windows服务停止时调用base.OnStop()?

    我正在创建一个 C Net Windows 服务 想知道您是否总是需要调用base OnStop 在服务的OnStop 方法以及为什么 protected override void OnStop threadRunning false t
  • 为什么要将 stdin、stdout 和 stderr 设置为单个 fd?

    我从 APUE 看到了这个代码片段 dup2 fd 0 dup2 fd 1 dup2 fd 2 if fd gt 2 close fd 在我的理解中 它使 stdin stdout 和 stderr 都指向 fd 它说很多程序都包含此代码
  • Rails Accepts_nested_attributes 计数验证

    我有三个型号 销售 商品和图像 我想验证创建销售时 每个销售至少有三张照片和一件或多件商品 实现这一目标的最佳方法是什么 销售模式 class Sale lt ActiveRecord Base has many items depende
  • 如果我点击此处地图中的不同标记,如何删除以前的信息气泡?

    下面是我添加信息气泡的代码 我想在单击 点击 不同的标记后删除当前的信息气泡 function addInfoBubble map var group new H map Group map addObject group add tap
  • Sprite Kit - 将两个物理体添加到一个 SKNode

    是否可以将两个 或更多 SKPhysicsBody 添加到一个 SKNode 中 与此类似的东西 物理编辑器的示例因为角色的头部应该与球碰撞 所以顶部应该是圆形的 此外 球不得穿过球员 您知道如何实现这一目标吗 As the physics
  • 重复的键值违反了 django 中的唯一约束

    我有在 django 中创建新用户的功能 如下所示 def initialize username password email title firstName lastName telephoneNumber mobileNumber s
  • ASP.NET MVC 3 模型绑定和表单字段

    我有一个名为Domain Models BlogPost其中包含以下属性 PostID Title Author 发表日期 Body 我还有一个名为Domain Models PostComment其中包含以下属性 评论ID PostID
  • Android 应用内多次购买

    有没有办法使用应用内购买购买超过 1 件商品 例如 我可以购买 2 件相同的商品吗 创建多个产品不是正确的答案 因为如果你计划出售游戏内的金钱或 健康药水 这些东西可以无限次购买 请参阅有关的答案托管 非托管产品来纠正处理这种情况
  • order_by() 不适用于 Django 视图中的 filter()

    我的型号 class Bild models Model album models ForeignKey Album slot models IntegerField bild models ImageField upload to bil
  • 在下一个js中平滑滚动

    如何在 Next js 中将滚动效果设置为平滑 全局 我尝试在全局 css 上执行此操作 但它停用了 Next js 已有的滚动到顶部功能 我也尝试了在互联网上找到的这个解决方案 但它也不起作用 componentDidMount Rout
  • 复制 EXCEL 单元格 x 次

    我有一列大约有 1000 个 IP 地址 我需要在一列中打印 5 次 例如 10 10 10 1 10 10 10 2 10 10 10 3 10 10 10 4 应该成为 10 10 10 1 10 10 10 1 10 10 10 1
  • 查找字符串数组中最长的字符串

    问题是我尝试这样做 但我检查字符串长度的方法不起作用 我能做什么来修复它 public static void main String args String animalNames cat rabbit horse goat rooste