java - 从数组中获取不包含重复字符的字符串
问题描述
String[] arr = {"kolkata", "delhi", "pune", "mumbai"}
任何人都可以帮助我使用java代码从给定数组中获取字符串,其中字符串不应包含任何重复字符。
上述数组的输出应该是“pune”和“delhi”。
String[] arr = {"kolkata", "mumbai", "pune", "delhi"};
for (int i = 0; i < arr.length; i++){
String name = arr[i];
char[] ch = name.toCharArray();
boolean flag = false;
for (int j=0; j < ch.length; j++){
for (int k=0; k < ch.length; k++){
if (ch[j] != ch[k]){
flag = true;
//break;
}
}
}
if (flag){
System.out.println(arr[i]);
}
}
解决方案
处理数组中的每个字符串,将字符串的长度与其中的区字符数进行比较。有很多方法可以做到这一点。其中一种方式如下图所示:
import java.util.Arrays;
public class Main {
public static void main(String args[]) {
String[] arr = { "kolkata", "delhi", "pune", "mumbai" };
Arrays.stream(arr).forEach(s -> System.out.println(s + " has duplicate characters => " + hasDuplicateChars(s)));
}
static boolean hasDuplicateChars(String s) {
return s.chars().distinct().count() != s.length();
}
}
输出:
kolkata has duplicate characters => true
delhi has duplicate characters => false
pune has duplicate characters => false
mumbai has duplicate characters => true
推荐阅读
- java - 如何在 60 秒后停止在 java 中运行的方法
- c - 在 C 中,如何将 -o 合并为命令行参数,以将输出写入另一个文件而不是标准输出?
- php - Laravel 雄辩加入 ajax
- python - Python:比较列表中条目之间的距离并在距离小于特定数字时替换条目?
- mysql - MySQL - 具有许多条件的查询性能
- java - 我无法通过 Firebase 登录 Google。Google 按钮只是没有响应
- python - 在python中解析json的正确方法
- algorithm - 如果图具有独立集,则从输出 1 的图构造一个回路
- angular - 在角度重叠中折叠
- php - 使用 preg_match 进行 Imgur 图像验证