使用java语言设计一个类,将输入字符串数组中重复的数据去掉,并按字母顺序输出
时间: 2023-06-08 11:04:13 浏览: 100
好的,这是一个技术问题,可以回答。这里是Java代码实现去重和按字母顺序输出:
```java
import java.util.Arrays;
import java.util.HashSet;
public class RemoveDuplicatesAndSort {
public static void main(String[] args) {
String[] input = {"apple", "banana", "orange", "banana", "pear", "apple"};
HashSet<String> set = new HashSet<>(Arrays.asList(input));
String[] result = set.toArray(new String[set.size()]);
Arrays.sort(result);
for (String s : result) {
System.out.println(s);
}
}
}
```
运行结果为:
```
apple
banana
orange
pear
```
这里用了Java的HashSet来去重,Arrays.sort() 方法排序,最后将结果输出。
相关问题
java给定字符串(包含单词和标点符号)。不使用正则表达式 按俄语字母顺序输出字符串中的所有单词且不带标点符号。
可以按照以下步骤实现:
1. 将字符串按照空格分割成单词数组。
2. 去除每个单词中的标点符号。
3. 对单词数组按照俄语字母顺序排序。
4. 输出排序后的单词数组。
示例代码如下:
```java
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
String str = "Привет, мир! Как дела?";
String[] words = str.split(" "); // 1. 分割成单词数组
for (int i = 0; i < words.length; i++) {
words[i] = removePunctuation(words[i]); // 2. 去除标点符号
}
Arrays.sort(words, String.CASE_INSENSITIVE_ORDER); // 3. 按字母顺序排序
for (String word : words) {
System.out.println(word); // 4. 输出单词
}
}
// 去除标点符号
private static String removePunctuation(String word) {
int len = word.length();
int start = 0, end = len - 1;
while (start < len && !Character.isLetterOrDigit(word.charAt(start))) {
start++;
}
while (end >= 0 && !Character.isLetterOrDigit(word.charAt(end))) {
end--;
}
if (start <= end) {
return word.substring(start, end + 1);
} else {
return "";
}
}
}
```
输出结果为:
```
дела
Как
мир
Привет
```
Java翻转字符串中的单词顺序 输入一个字符串,将其中的单词顺序反转,但单词内部的字母顺序不变。单词之间以单个空格分隔,输入字符串开头和结尾可能有多余空格。 输入示例: The sky is bl
在Java中,你可以通过以下步骤来翻转字符串中的单词顺序:
1. 首先,我们需要去除输入字符串两端的多余空格并分割成单词数组。可以使用`split()`函数,传入`\s+`作为正则表达式匹配一个或多个空格。
2. 然后创建一个新的StringBuilder,用于存储反转后的单词序列。
3. 接着从单词数组的末尾开始遍历,依次添加到StringBuilder中,并保持每个单词内部的字母顺序不变。
4. 最后,返回StringBuilder转换为字符串的结果。
下面是一个具体的代码实现:
```java
public class Main {
public static String reverseWords(String s) {
// 去除首尾空格并分割成单词数组
String[] words = s.trim().split("\\s+");
// 反转单词数组并将单词添加到StringBuilder
StringBuilder reversed = new StringBuilder();
for (int i = words.length - 1; i >= 0; i--) {
reversed.append(words[i]);
if (i != 0) { // 当前不是最后一个单词,加入空格
reversed.append(" ");
}
}
return reversed.toString();
}
public static void main(String[] args) {
String input = "The sky is blue";
System.out.println(reverseWords(input)); // 输出:blue sky The
}
}
```
阅读全文