Java 如何在不同数组中拆分值?
我正在用android做一个项目,我的数组列表值有一个问题,如下所示Java 如何在不同数组中拆分值?,java,android,Java,Android,我正在用android做一个项目,我的数组列表值有一个问题,如下所示 [men-1, men-2, men-3, women-1, women-2, women-3] 如何在不同的数组中拆分这些值?i、 e如何在一个数组中保存men-1、men-2、men-3,在另一个数组中保存women-1、women-2、women-3 为男性和女性元素创建单独的列表 迭代列表中的所有元素 如果列表是字符串,您可以使用element.startsWith(“man”) 如果元素是男性或女性类的对象,您可以
[men-1, men-2, men-3, women-1, women-2, women-3]
如何在不同的数组中拆分这些值?i、 e如何在一个数组中保存
men-1、men-2、men-3
,在另一个数组中保存women-1、women-2、women-3
element.startsWith(“man”)
instanceof
操作符,如if(element instanceof Man){listofman.add(element)}
列表
实例中使用toArray(T[]array)
方法下面的代码可能对您有所帮助
import java.util.Arrays;
public class Test{
public static void main(String[] args) {
String[] input = new String[] {"men-1", "men-2", "men-3", "women-1", "women-2", "women-3"};
int arr1Size=getCount(input, "women");
String[] arr1 = new String[arr1Size];
String[] arr2 = new String[input.length-arr1Size];
int i=0,j=0;
for(String str: input){
if(str.contains("women")){
arr1[i] = str;
i++;
}else{
arr2[j] = str;
j++;
}
}
System.out.println(Arrays.deepToString(arr1));
System.out.println(Arrays.deepToString(arr2));
}
public static int getCount(String[] input, String find){
int count=0;
for(String str: input){
if(str.contains(find)){
count++;
}
}
return count;
}
}
如果这些是类的对象,那么您可以使用instanceOf操作符轻松地完成它。。。否则下面的代码可以帮助您。。您可以使用arraylist,也可以使用arraylist
/**
*
*/
package com.sharique.test;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Iterator;
import java.util.List;
/**
* @author Sharique
*
*/
public class Test {
/**
* @param args
*/
//List<Integer> list = new ArrayList<>();
//int[] arr = new int[10];
//int[] ar1= arr.clone();
public void usingArrays(){
StringBuffer sb1 = new StringBuffer("Men");
String[] arrays = {"Men-1","Men-2","Men-3","Women-1","Women-2","Women-3"};
String[] arrOfMen = new String[3];
String[] arrOfWomen = new String[3];
String str=null;
int count1=0;
int count2=0;
for(int i=0;i<arrays.length;i++){
str=arrays[i];
if(str.contains(sb1)){
arrOfMen[count1++]=str;
}else{
arrOfWomen[count2++]=str;
}
}
for(int i=0;i<arrOfMen.length;i++)
System.out.print(arrOfMen[i]+" ");
//For a new Line
System.out.println();
for(int i=0;i<arrOfWomen.length;i++)
System.out.print(arrOfWomen[i]+" ");
}
public void usingArrayList(){
String[] arrays1 = {"Men-1","Men-2","Men-3","Women-1","Women-2","Women-3"};
List<String> list = new ArrayList<>(Arrays.asList(arrays1));
String[] arrays2 = new String[3];
StringBuffer sb = new StringBuffer("Women");
int count=0;
String str=null;
Iterator<String> iterator = list.iterator();
while(iterator.hasNext()){
str =iterator.next();
if(str.contains(sb)){
arrays2[count++] = str;
iterator.remove();
}
}
//for a new line
System.out.println();
arrays1 = list.toArray(new String[list.size()]);
for(int i=0;i<arrays1.length;i++)
System.out.print(arrays1[i]+" ");
//for a new line
System.out.println();
for(int i=0;i<arrays2.length;i++)
System.out.print(arrays2[i]+" ");
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Test test = new Test();
test.usingArrays();
test.usingArrayList();
}
}
/**
*
*/
包com.sharique.test;
导入java.util.ArrayList;
导入java.util.array;
导入java.util.Iterator;
导入java.util.List;
/**
*@作者Sharique
*
*/
公开课考试{
/**
*@param args
*/
//列表=新的ArrayList();
//int[]arr=新的int[10];
//int[]ar1=arr.clone();
使用Arrays()的公共作废{
StringBuffer sb1=新StringBuffer(“Men”);
String[]数组={“Men-1”、“Men-2”、“Men-3”、“Women-1”、“Women-2”、“Women-3”};
字符串[]arrOfMen=新字符串[3];
字符串[]arrOfWomen=新字符串[3];
字符串str=null;
int count1=0;
int count2=0;
对于(inti=0;i)元素是字符串还是一些Man、Woman类的对象?