如何在java中忽略/删除数组的值
我有一个单词列表,有4个单词,不能超过4个,这只是一个例子。我只想使用其中的两个单词,其余的应该忽略或删除,例如:如何在java中忽略/删除数组的值,java,string,Java,String,我有一个单词列表,有4个单词,不能超过4个,这只是一个例子。我只想使用其中的两个单词,其余的应该忽略或删除,例如: String planets = "Moon,Sun,Jupiter,Mars"; String[] planetsArray = planets.split(","); int numberOfPlanets = planetsArray.length; 我得到的结果是4。如果我的列表包含超过2个单词,我如何删除其余的单词 用于从字符串[]平面阵列获取字
String planets = "Moon,Sun,Jupiter,Mars";
String[] planetsArray = planets.split(",");
int numberOfPlanets = planetsArray.length;
我得到的结果是4。如果我的列表包含超过2个单词,我如何删除其余的单词 用于从字符串[]平面阵列
获取字符串
的列表
String planets = "Moon,Sun,Jupiter,Mars";
String[] planetsArray = planets.split(",");
if(planetsArray .length > 2){
String []newArr = new String[2];
newArr[0]=planetsArray [0];
newArr[1]=planetsArray [2];
planetsArray = newArr ;
}
然后使用界面的方法-包含
,删除
,添加
,…-只需在该列表
,上执行所需操作,即可从字符串[]平面阵列
获取字符串
的列表
然后使用界面的方法-包含
,删除
,添加
,…-如果需要选择前两个行星,只需复制阵列即可:
String[] newPlanetsArray = Arrays.CopyOf(planetsArray, 2);
如果需要选择2个特定行星,可以应用以下算法:
首先,创建一个包含2个元素的新数组。然后,遍历原始数组中的元素,如果当前元素匹配,则将其添加到新数组中(跟踪新数组中的当前位置以添加下一个元素)
String[]newPlanetsArray=新字符串[2];
对于(int i=0,int j=0;i1)
打破
}
}
如果需要选择前两个行星,只需复制阵列即可:
String[] newPlanetsArray = Arrays.CopyOf(planetsArray, 2);
如果需要选择2个特定行星,可以应用以下算法:
首先,创建一个包含2个元素的新数组。然后,遍历原始数组中的元素,如果当前元素匹配,则将其添加到新数组中(跟踪新数组中的当前位置以添加下一个元素)
String[]newPlanetsArray=新字符串[2];
对于(int i=0,int j=0;i1)
打破
}
}
根据您的中的建议,您可以使用
String[] fewPlanets = new String[]{planets[0], planets[1]};
只需确保planets
数组包含2个或更多元素,以避免出现错误。您可以使用length
检查它:如果(planets.length>=2)
对于更复杂的解决方案,如果您使用的是Java 1.5或更早版本,也可以使用
int numberOfElements = 2;
String[] fewPlanets = new String[2];
System.arraycopy(planets, 0, fewPlanets, 0, numberOfElements);
或者,如果您使用的是Java 1.6或更高版本:
int numberOfElements = 2;
String[] fewPlanets = Arrays.copyOf(planets, numberOfElements);
正如您的中所建议的,您可以使用
String[] fewPlanets = new String[]{planets[0], planets[1]};
只需确保planets
数组包含2个或更多元素,以避免出现错误。您可以使用length
检查它:如果(planets.length>=2)
对于更复杂的解决方案,如果您使用的是Java 1.5或更早版本,也可以使用
int numberOfElements = 2;
String[] fewPlanets = new String[2];
System.arraycopy(planets, 0, fewPlanets, 0, numberOfElements);
或者,如果您使用的是Java 1.6或更高版本:
int numberOfElements = 2;
String[] fewPlanets = Arrays.copyOf(planets, numberOfElements);
您可以使用来自的想法,避免从逗号分隔的字符串输入中读取剩余值。只需找到第二个逗号和子字符串
(当然,如果您的代码片段只是一个示例,并且您没有逗号分隔的输入,那么请忽略此建议:)您可以使用来自的想法,避免从逗号分隔的字符串输入中读取其余值。只需找到第二个逗号和子字符串
(当然,如果您的代码片段只是一个示例,并且您没有逗号分隔的输入,那么请忽略此建议:)您在此处搜索过任何类似的问题吗?此搜索将提出几个您感兴趣的问题。你在这里搜索过类似的问题吗?此搜索将提出几个您感兴趣的问题。字符串行星=“月亮、太阳、木星、火星”;字符串[]planetsArray=planets.split(“,”);字符串[]fewPlanets=新字符串[]{planetsArray[0],planetsArray[1]};系统输出打印LN(fewPlanets);我试过这个,但如果我把它打印出来,我会得到一些奇怪的东西:[Ljava.lang.String;@67af7a[Ljava.lang.String;@67af7a
就是fewPlanets.toString()
正在返回。这是实例的非唯一标识符。如果要打印数组的内容,请迭代其元素并打印每个元素。类似于:for(int i=0;iString plants=“Moon,Sun,Jupiter,Mars”;String[]planetsArray=plants.split(,”;String[]fewPlanets=new String[]{planetsArray[0],planetsArray[1]};System.out.println(fewPlanets);我尝试过这个,但是如果我打印出来,我会得到一些奇怪的东西:[Ljava.lang.String;@67af7a[Ljava.lang.String;@67af7a
就是fewPlanets.toString()
正在返回。这是实例的非唯一标识符。如果要打印数组的内容,请迭代其元素并打印每个元素。类似于:for(int i=0;iArrays.copyOf仅为Java 1.6及更高版本。Arrays.copyOf仅为Java 1.6及更高版本。