当前位置: 首页 > 知识库问答 >
问题:

从字符串数组中移除元素

唐高朗
2023-03-14

我创建了一个函数来删除数组中的一个特定元素,但正在努力解决的问题是,当我们从s.next()中获得要删除的元素的值时,它不是删除,而是当我们已经为它初始化了一个值时,它是删除

 public static String[] remove(String[] element, String value) {

        int validSize = 0;
        String[] n_elements = new String[0];
        for (int i = 0; i < element.length; i++) {
            if (element[i] == value) {
                element[validSize] = element[i];
                validSize++;
            }

            n_elements = new String[validSize];
            if (validSize >= 0) System.arraycopy(element, 0, n_elements, 0, validSize);


        }

        return n_elements;
    }
public static void main(String[] args) {

 
    String[] group_A = {"Alexandr", "Ahmed", "Maria", "elf", "Omar", "Mariam"};

    Scanner s  = new Scanner(System.in);     

    System.out.println(Arrays.toString(group_A));

    String value = "elf";
    group_A = remove(group_A,value);
    System.out.println(Arrays.toString(group_A));
}
[Alexandr, Ahmed, Maria, elf, Omar, Mariam]
[Alexandr, Ahmed, Maria, Omar, Mariam]
 String value = s.next();
[Alexandr, Ahmed, Maria, elf, Omar, Mariam]
elf
[Alexandr, Ahmed, Maria, elf, Omar, Mariam]

共有1个答案

鲁向明
2023-03-14

就像@Oussama ZAGHDOUD说的,

代替if(element[i]==value),使用if(element[i].equals(value))

 类似资料:
  • 我创建了一个函数来删除数组中的一个特定元素,但正在努力解决的问题是,当我们从s.next()中获得要删除的元素的值时,它不是删除,而是当我们已经为它初始化了一个值时,它是删除 例如,我们有一个函数remove

  • 本文向大家介绍在Python中从元组中删除字符串,包括了在Python中从元组中删除字符串的使用技巧和注意事项,需要的朋友参考一下 当需要从元组中删除字符串时,可以使用列表理解和'type'方法。 列表可用于存储异构值(即,任何数据类型的数据,例如整数,浮点数,字符串等)。 元组列表基本上包含包含在列表中的元组。 列表理解是迭代列表并对其执行操作的一种快捷方式。 'type'方法返回作为参数传递给

  • 问题内容: 我有一个像这样的数组: 我要做的是删除“苹果”。 我的问题很基本,但是,我搜索了网站,发现java并不真正支持从数组中删除功能。我还听说过使用Java Utils,因为删除项目非常简单…。我试图在Google上找到Java Utils,但是几乎所有链接都消失了。 所以最后…有什么方法可以从字符串数组中删除字符串? 即使我使用ArrayList,也找不到在其中生成随机项的方法!例如:在普

  • 我有一个名为arr的数组,大小为1024。所以基本上我想删除数组的第1X个元素。我该怎么做?我是这么想的:创建一个指针,指向数组的第一个值(ARR[0])。执行指针算术将其带到数组的第X个元素。然后将arr[0]设置为指针p,这将有效地移除前X个元素?这样行吗?或者有没有更简单的方法来移除数组的前X个元素?

  • 问题内容: 我有一个字符数组,一次最多可以容纳50000个字符。该数组的内容通过套接字连接来。但是,不能保证此字符缓冲区不会有任何空元素。然后,我需要将此字符数组转换为字符串(例如,新的String(buffer);)。我的问题是,每当我从套接字收到的缓冲区长度不超过50000时,如何从此char数组或String中删除剩余的元素或空元素?如果没有,您建议的最有效方法是什么? / 这是当前的实现

  • 问题内容: 如何在不使用HashSet的情况下从字符串数组中删除重复的字符串? 我尝试使用循环,但是单词不能删除。 问题答案: 尝试使用以下代码删除重复的单词: