java过滤字符串数组
时间: 2024-01-30 09:12:12 浏览: 158
以下是Java过滤字符串数组的示例:
```java
import java.util.ArrayList;
import java.util.List;
public class StringArrayFilter {
public static void main(String[] args) {
String[] strArray = {"apple", "banana", "cherry", "date", "elderberry"};
// 过滤出长度大于等于6的字符串
List<String> filteredList = new ArrayList<>();
for (String str : strArray) {
if (str.length() >= 6) {
filteredList.add(str);
}
}
// 打印过滤后的字符串数组
for (String str : filteredList) {
System.out.println(str);
}
}
}
```
运行以上代码,将会输出长度大于等于6的字符串:
```
banana
cherry
elderberry
```
相关问题
java字符串数组 删除
要删除 Java 字符串数组中的元素,可以使用以下几种方法:
1. 使用 ArrayList:将字符串数组转换为 ArrayList,然后使用 `remove()` 方法删除指定位置或值的元素。例如:
```java
String[] array = {"apple", "banana", "cherry"};
ArrayList<String> list = new ArrayList<>(Arrays.asList(array));
list.remove(1); // 删除索引为 1 的元素,即 "banana"
array = list.toArray(new String[0]); // 转换回字符串数组
```
2. 使用 System.arraycopy():创建一个新的较小的数组,将不需要删除的元素复制到新数组中。例如:
```java
String[] array = {"apple", "banana", "cherry"};
int indexToRemove = 1;
String[] newArray = new String[array.length - 1];
System.arraycopy(array, 0, newArray, 0, indexToRemove);
System.arraycopy(array, indexToRemove + 1, newArray, indexToRemove, array.length - indexToRemove - 1);
array = newArray;
```
3. 使用 Java 8 的 Stream API:利用过滤器来排除要删除的元素。例如:
```java
String[] array = {"apple", "banana", "cherry"};
int indexToRemove = 1;
array = Arrays.stream(array)
.filter((element, index) -> index != indexToRemove)
.toArray(String[]::new);
```
以上是几种常见的方法,具体使用哪一种取决于你的需求和偏好。
java字符串数组去除null
在Java中,如果你有一个包含null值的字符串数组,你可以通过遍历并过滤掉null元素来创建一个新的只包含非null字符串的数组。这里是一个简单的示例:
```java
String[] originalArray = { "a", null, "b", null, "c" }; // 假设这是一个包含null的字符串数组
// 创建一个新的StringBuilder用于收集非null的字符串
StringBuilder nonNullStrings = new StringBuilder();
// 遍历原始数组
for (String s : originalArray) {
if (s != null) {
// 如果当前元素不为null,添加到StringBuilder中
nonNullStrings.append(s).append(" "); // 这里假设每个元素之间需要空格分隔
}
}
// 将StringBuilder转换为新的字符串数组
String[] newArray = nonNullStrings.toString().split("\\s+");
System.out.println(Arrays.toString(newArray)); // 输出: [a, b, c]
```
在这个例子中,`newArray`将只包含非null的字符串:"a", "b", 和 "c"。
阅读全文