gpt4 book ai didi

java - 从树形图中删除元素

转载 作者:行者123 更新时间:2023-11-30 05:39:46 26 4
gpt4 key购买 nike

我编写了一个采用整数数组的代码,但我无法找到一种方法来删除获得(假)值的树形图元素。任何帮助,将不胜感激。代码如下。

import java.util.*;

public class Solution {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner s=new Scanner(System.in);
int x=s.nextInt();
String[] str=new String[x];
for(int i=0;i<x;i++)
{
str[i]=s.next();
}
TreeMap<Character, Boolean> store=new TreeMap<Character, Boolean>();
for(int i=0;i<str[0].length();i++)
{
store.put(str[0].charAt(i), false);
}
for(int i=1;i<str.length;i++)
{
for(int j=0;j<str[i].length();j++)
{
if(store.containsKey(str[i].charAt(j)))
{
store.put(str[i].charAt(i), true);
}
}
//code for removing elements from treemap with false value.
}
}
}

最佳答案

没有有效的方法来定位所有具有给定值的Map条目并删除它们。为此,您必须迭代所有条目。

但是,您不必这样做。首先避免将它们放入 Map 中。不要将第一个具有 false 值的 String 的字符放入 Map 中,而是将它们放入单独的 Set 中:

Map<Character, Boolean> store = new TreeMap<>();
Set<Character> set = new TreeSet<>();
for(int i=0;i<str[0].length();i++)
{
set.add(str[0].charAt(i));
}
for(int i=1;i<str.length;i++)
{
for(int j=0;j<str[i].length();j++)
{
if(set.contains(str[i].charAt(j)))
{
store.put(str[i].charAt(i), true);
}
}
}

关于java - 从树形图中删除元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55887867/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com