Java 解析数组并提取相同长度的字符串
我的第一个问题 假设我有java中字符串的arraylistJava 解析数组并提取相同长度的字符串,java,arrays,list,Java,Arrays,List,我的第一个问题 假设我有java中字符串的arraylist ArrayList<string> s= new ArrayList<string>; 我想做的是,迭代列表并选择一组长度相同的元素,并将其放入seprate数组中 第一组ab 第二组abc、aab等 我是用java做这件事的,请帮助我,因为它们已经按大小排序了,这很容易。以下是一种有效的方法: ArrayList<ArrayList<String>> listofLists = ne
ArrayList<string> s= new ArrayList<string>;
我想做的是,迭代列表并选择一组长度相同的元素,并将其放入seprate数组中
第一组ab
第二组abc、aab等
我是用java做这件事的,请帮助我,因为它们已经按大小排序了,这很容易。以下是一种有效的方法:
ArrayList<ArrayList<String>> listofLists = new ArrayList<ArrayList<String>>();
int length = -1;
for(String str : s) { // where s is your sorted ArrayList of Strings
if(str.length() > length) {
listofLists.add(new ArrayList<String>());
length = str.length();
}
listofLists.get(listofLists.size()-1).add(str);
}
ArrayList ListofList=新建ArrayList();
整数长度=-1;
对于(String str:s){//其中s是字符串的排序数组列表
如果(str.length()>长度){
add(newarraylist());
长度=str.length();
}
get(listofLists.size()-1).add(str);
}
最后,listofLists
将是ArrayLists
的ArrayList
,包含相同长度的字符串组。同样,这取决于按大小排序的s
(您的ArrayList
)。另外,字符串
必须大写。您可以使用此代码“它可以根据需要工作”
import java.util.ArrayList;
公开课考试{
公共静态void main(字符串[]args){
ArrayList s=新的ArrayList();
s、 添加(“ab”);
s、 添加(“abc”);
s、 添加(“aab”);
s、 添加(“baab”);
s、 添加(“abcd”);
String[]group1=新字符串[s.size()];
String[]group2=新字符串[s.size()];
String[]group3=新字符串[s.size()];
对于(int i=0;i
我希望它对您有用。首先,它是List s=new ArrayList()代码>您尝试了哪些不起作用的内容?此解决方案仅适用于给定的示例输入。您也可以从用户处获取输入
ArrayList<ArrayList<String>> listofLists = new ArrayList<ArrayList<String>>();
int length = -1;
for(String str : s) { // where s is your sorted ArrayList of Strings
if(str.length() > length) {
listofLists.add(new ArrayList<String>());
length = str.length();
}
listofLists.get(listofLists.size()-1).add(str);
}
import java.util.ArrayList;
public class Test{
public static void main(String[] args){
ArrayList<String> s = new ArrayList<String>();
s.add("ab");
s.add("abc");
s.add("aab");
s.add("baab");
s.add("abcd");
String[] group1 = new String[s.size()];
String[] group2 = new String[s.size()];
String[] group3 = new String[s.size()];
for(int i = 0 ; i < s.size() ; i++){
if(s.get(i).length() == 2)
group1[i] = s.get(i);
else if(s.get(i).length() == 3)
group2[i] = s.get(i);
else
group3[i] = s.get(i);
}
for(String ss : group1){
if(ss == null)
break;
System.out.println(ss);
}
System.out.println();
for(String ss : group2){
if(ss == null)
continue;
System.out.println(ss);
}
System.out.println();
for(String ss : group3){
if(ss == null)
continue;
System.out.println(ss);
}
}
}