怎样在java的数组中删除其中一个指定的字符?比如说一个数组中有'a'、'b'、'c'、'd',我要删除其中的'c',需要怎样实现呢?
那就是说 数组中 没有 直接删除其中某一字符的方法喽?!╮(╯▽╰)╭
2楼 你说怎么删除嘛 (⊙_⊙)?
java中数组的长度是不可变的,也就是说你可以吧数组中某个字符用特殊字符代替,但是这个位置依然是存在的。
删除代码:
String[] arr = {"a","b","c","d"};
for (int i=0; i<arr.length; i++){
if ("c".equals(arr[i])){
arr[i] = "#";//#代表删除
}
}
删除代码:
String[] arr = {"a","b","c","d"};
for (int i=0; i<arr.length; i++){
if ("c".equals(arr[i])){
arr[i] = "#";//#代表删除
}
}
温馨提示:答案为网友推荐,仅供参考
第1个回答 2010-12-15
可以约定一个表示“空”的符号,如‘0’。删除时替换为此符号。
或改用相当于动态数组的ArrayList类来实现数组,删除时调用remove方法。
或改用相当于动态数组的ArrayList类来实现数组,删除时调用remove方法。
第2个回答 2012-06-07
public static void main(String[] args)
{
// TODO Auto-generated method stub
String[] arr = { "a", "b", "c", "d" };
ArrayList<String> m = new ArrayList<String>();
for (int i = 0; i < arr.length; i++)
{
m.add(arr[i]);
}
for (int i = 0; i < m.size(); i++)
{
System.out.println("---" + m.get(i));
}
for (int i = 0; i < m.size(); i++)
{
if ("c".equals(m.get(i)))
{
m.remove(i);// #代表删除
}
}
for (int i = 0; i < m.size(); i++)
{
System.out.println("++" + m.get(i));
}
}
{
// TODO Auto-generated method stub
String[] arr = { "a", "b", "c", "d" };
ArrayList<String> m = new ArrayList<String>();
for (int i = 0; i < arr.length; i++)
{
m.add(arr[i]);
}
for (int i = 0; i < m.size(); i++)
{
System.out.println("---" + m.get(i));
}
for (int i = 0; i < m.size(); i++)
{
if ("c".equals(m.get(i)))
{
m.remove(i);// #代表删除
}
}
for (int i = 0; i < m.size(); i++)
{
System.out.println("++" + m.get(i));
}
}
第3个回答 2010-12-15
只能先查找!找到删除!