Java 如何将随机字数组过滤为哈希标记数组?

Java 如何将随机字数组过滤为哈希标记数组?,java,lambda,Java,Lambda,例如,[“ab”、“SomeHash”、“qwlerkj”、“sdfs”、“sdfs”、“anotherhash”]到[“SomeHash”、“anotherhash”],或包含[“SomeHash”、“anotherhash”的数组列表 我尝试使用lambda4j,但它总是给我一个空列表 List<String> hashtagWords = select(statusText.split(" "), hasItemInArray(startsWith("#"))); List

例如,
[“ab”、“SomeHash”、“qwlerkj”、“sdfs”、“sdfs”、“anotherhash”]
[“SomeHash”、“anotherhash”]
,或包含
[“SomeHash”、“anotherhash”的数组列表

我尝试使用lambda4j,但它总是给我一个空列表

List<String> hashtagWords = select(statusText.split(" "), hasItemInArray(startsWith("#")));
List hashtagWords=select(statusText.split(“”),hasItemInArray(startsWith(“#”);
我使用的是Java7,所以我不能使用Java8功能。
请帮帮我。

可能是老派,但能胜任这项工作

    List<String> list  = new ArrayList<String>();
    List<String> hashTagList  = new ArrayList<String>();

    list.add("ab");
    list.add("#SomeHash");
    list.add("qwlerkj");
    list.add("!@#!@");
    list.add("sdfs");
    list.add("#anotherhash");
    Iterator<String> listItr = list.iterator();
    while (listItr.hasNext()){
        String element =  listItr.next();
        if(element.startsWith("#")){
            hashList.add(element);
        }
    }

您在标题中说您有一个随机单词数组,但您的代码示例使其看起来像是一个
字符串
statusText
)。我假设你已经有了一个数组。(您可以使用
String.split()
或任何需要的工具来获取它。)

在Java 7中,您可以这样做:

List<String> hashTagWords = new ArrayList<>();
for (String word : statusWords) {
    if (word.startsWith("#")) {
        hashTagWords.add(word);
    }
}
return hashTagWords;

为什么不使用简单循环?迭代所有元素,使用哈希条件对它们进行测试,若元素通过测试,则将其添加到新的结果列表中<代码>列表hashtagWords=new ArrayList();for(String s:statusText.split(“”){if(s.startsWith(“#”)hashtagWords.add(s);}也可以在原始字符串上执行正则表达式。@Pshemo我想用一种奇特的方式来执行,因为我需要向人们显示此代码。请定义奇特。请在你的问题中提出这个要求。我想用一个简洁的一行,但我想我会用一个循环。
List<String> hashTagWords = new ArrayList<>();
for (String word : statusWords) {
    if (word.startsWith("#")) {
        hashTagWords.add(word);
    }
}
return hashTagWords;
return Arrays.stream(statusWords)
    .filter(word -> word.startsWith("#"))
    .collect(Collectors.toList());