Java 对字符串数组排序
我有一个字符串数组,其中包含:多余的水、果汁和多余的牛奶,因此我想知道如何去掉多余的字符串,并使用字符串中唯一的第二个单词,以便预期的输出是水、果汁和牛奶。使用string.split(“”)将字符串拆分为一个空格,然后检查结果以查看字符串长度是否=2。如果是,则取数组的第二个元素,否则取第一个元素Java 对字符串数组排序,java,Java,我有一个字符串数组,其中包含:多余的水、果汁和多余的牛奶,因此我想知道如何去掉多余的字符串,并使用字符串中唯一的第二个单词,以便预期的输出是水、果汁和牛奶。使用string.split(“”)将字符串拆分为一个空格,然后检查结果以查看字符串长度是否=2。如果是,则取数组的第二个元素,否则取第一个元素 for( int i = 0; i < array.length; i++ ) { String[] parts = array[i].split(' '); if( part
for( int i = 0; i < array.length; i++ ) {
String[] parts = array[i].split(' ');
if( parts.length == 2 ) {
array[i] = parts[1];
}
}
for(int i=0;i
编辑:如果要删除所有重复的单词,可以使用两次遍历数组来执行以下操作:
// Pass 1 -- find all duplicate words
Set<String> wordSet = new HashSet<>();
Set<String> duplicateSet = new HashSet<>();
for (int i = 0; i < array.length; i++) {
String[] parts = array[i].split(" ");
for (String part : parts) {
if (!wordSet.contains(part)) {
// Haven't seen this word before
wordSet.add(part);
} else {
// This word is a duplicate word
if (!duplicateSet.contains(part)) {
duplicateSet.add(part);
}
}
}
}
// Pass 2 -- remove all words that are in the duplicate set
for (int i = 0; i < array.length; i++) {
String[] parts = array[i].split(" ");
String dedupedString = "";
for (String part : parts) {
if (!duplicateSet.contains(part)) {
dedupedString += part + " ";
}
}
array[i] = dedupedString;
}
//传递1——查找所有重复的单词
Set wordSet=newhashset();
Set duplicateSet=新HashSet();
for(int i=0;i
使用String.split(“”)将字符串拆分为一个空格,然后检查结果以查看字符串长度是否=2。如果是,则取数组的第二个元素,否则取第一个元素
for( int i = 0; i < array.length; i++ ) {
String[] parts = array[i].split(' ');
if( parts.length == 2 ) {
array[i] = parts[1];
}
}
for(int i=0;i
编辑:如果要删除所有重复的单词,可以使用两次遍历数组来执行以下操作:
// Pass 1 -- find all duplicate words
Set<String> wordSet = new HashSet<>();
Set<String> duplicateSet = new HashSet<>();
for (int i = 0; i < array.length; i++) {
String[] parts = array[i].split(" ");
for (String part : parts) {
if (!wordSet.contains(part)) {
// Haven't seen this word before
wordSet.add(part);
} else {
// This word is a duplicate word
if (!duplicateSet.contains(part)) {
duplicateSet.add(part);
}
}
}
}
// Pass 2 -- remove all words that are in the duplicate set
for (int i = 0; i < array.length; i++) {
String[] parts = array[i].split(" ");
String dedupedString = "";
for (String part : parts) {
if (!duplicateSet.contains(part)) {
dedupedString += part + " ";
}
}
array[i] = dedupedString;
}
//传递1——查找所有重复的单词
Set wordSet=newhashset();
Set duplicateSet=新HashSet();
for(int i=0;i
如果您只想删除特定的子字符串,那么:
String[] array = {"Extra Water", "Juice", "Extra Milk"};
array = Arrays.stream(array).map(s-> s.replaceAll("Extra", "")).toArray();
这将使用Java 8流,但您也可以简单地通过迭代来完成。如果您只想删除一个特定的子字符串,那么:
String[] array = {"Extra Water", "Juice", "Extra Milk"};
array = Arrays.stream(array).map(s-> s.replaceAll("Extra", "")).toArray();
这使用Java 8流,但您也可以简单地通过迭代来完成。只需迭代数组中的每个元素,替换数组中每个元素中的“多余”,然后修剪空白即可
String[] array = {"Extra Water", "Juice", "Extra Milk"};
for (int i = 0; i < array.length; i++) {
array[i] = array[i].replace("Extra", "").trim();
}
for (String each : array) {
System.out.println(each);
}
String[]数组={“额外的水”、“果汁”、“额外的牛奶”};
for(int i=0;i
只需迭代数组的每个元素,替换数组每个元素中的“额外”,然后修剪空白
String[] array = {"Extra Water", "Juice", "Extra Milk"};
for (int i = 0; i < array.length; i++) {
array[i] = array[i].replace("Extra", "").trim();
}
for (String each : array) {
System.out.println(each);
}
String[]数组={“额外的水”、“果汁”、“额外的牛奶”};
for(int i=0;i
您的逻辑不清楚。“Extra”是唯一不必要的词还是有其他这样的词?如果第一个词在数组中是重复的,我只想使用第二个词。因此,如果数组是Extra Water、Juice、Extra Milk、Good Grape、Good Apple、Tasty Orange,那么输出将是Water、Juice、Milk、Grape、Apple、Tasty Orange。您的逻辑不清楚。“Extra”是唯一不必要的单词还是有其他类似的单词?如果数组中的第一个单词是重复的,我只想使用第二个单词。因此,如果数组是Extra Water、Juice、Extra Milk、Good Grape、Good Apple、Tasty Orange,那么输出将是Water、Juice、Milk、Grape、Apple、Tasty Orangemap(s->s.replaceFirst(^Extra),”)
在这种情况下可能更合适:)map(s->s.replaceFirst(^Extra),“”)
在这种情况下可能更合适:)