2016-04-13 42 views
0

我试图在一个向量上找到多少个索引以给定的字母或数字开头。以给定字母/数字开头的向量中的元素

我试过vector.indexOf("A");vector.lastIndexOf("A");但当然他们是“无用的”,因为我试图去做,因为那些试图找到一个只有“A”而没有别的位置。

我想知道是否有一个Java方法来做到这一点,或者如果我需要“自己”来做,如果是的话,稍微指导一下如何做的过程将被感谢。

+1

使用循环。或者,如果使用Java 8,则为Stream。请注意,矢量不应该再使用了,这已经是15年了。使用ArrayList。 –

回答

1

如果你不想(或不能)使用流或lambda表达式,你也可以用这个小环在这里:如果它与A,然后开始计数

int count=0; 
    for (int i = 0; i < vec.size(); i++) { 
     count = vec.get(i).charAt(0)=='A' ? count+1 : count; 
    } 

没有大的事情,只是检查每个元素向上。

+0

不错,简单,我需要调整它在这里和那里,以适应我的代码,但除此之外,我想不出一个更好的解决方案。非常感谢@Jankapunkt –

1

在Java8中,您可以使用Streams来访问功能样式的操作,例如filter()count()。使用stream()方法在您的收藏中获得一个Stream。

+0

我会定义检查出来,非常感谢Julien的信息。可悲的是我只能接受一个问题,否则我会把它提供给你们两个。 –

+0

@ this.user3272243这将教会我不要发布我猜的代码。 :p一定要看看Java 8的流和其他功能,这个版本大大改进了语言,所以不会使用它。 –

相关问题