String list get an item starting without loop

arraylist, collections, java

Solution

There is very good solution from Java 8 for your problem.

Try this,

long filterNameCount = custNames
        .stream()
        .parallel() 
        .filter((s) -> s.startsWith(nameStarts.toLowerCase()))
        .count();

System.out.println(filterNameCount);

Problem

I have a array list contains thousands of data. For Example: ``` List<String> custNames = new ArrayList<String>(); custNames.add("John"); custNames.add("Tom"); custNames.add("Bart"); custNames.add("Tim"); custNames.add("Broad"); ``` Now I want to get count of names only starting with 'T'. I used looping mechanism for my solution. ``` List<String> filterNames = new ArrayList<String>(); String nameStarts="T"; for(int i=0;i<custNames.size();i++) { if(custNames.get(i).toLowerCase().startsWith(nameStarts.toLowerCase())) { filterNames.add(custNames.get(i)); } } System.out.println(filterNames.size()); ``` But I have very large collection of data in this custNames list. Is there any different solution without using loop? Thanks.

Original source