Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Java中声明和使用Python中的字典数组并对其进行过滤?_Java_Python_Dictionary - Fatal编程技术网

如何在Java中声明和使用Python中的字典数组并对其进行过滤?

如何在Java中声明和使用Python中的字典数组并对其进行过滤?,java,python,dictionary,Java,Python,Dictionary,我想了解字典在Java中是如何工作的 我知道我可以做像这样的事情 Map<String, String> map = new HashMap<String, String>(); map.put("dog", "type of animal"); System.out.`println`(map.get("dog")); 我可以给T加上值,这样我以后可以按字段过滤它们?这可行吗 更新 在python中,我将dict列表添加到一个列表中,以方便地过滤它们 T= [] a=

我想了解字典在Java中是如何工作的

我知道我可以做像这样的事情

Map<String, String> map = new HashMap<String, String>();
map.put("dog", "type of animal");
System.out.`println`(map.get("dog"));
我可以给T加上值,这样我以后可以按字段过滤它们?这可行吗

更新

在python中,我将dict列表添加到一个列表中,以方便地过滤它们

T= []
a= {'name': 'someone', 'age': 13, 'tall': 1.55}
b= {'name': 'Jack', 'age': 14, 'tall': 1.39}

T.append(a)
T.append(b)
结果是:

T= [ {'name': 'someone', 'age': 13, 'tall': 1.55}, {'name': 'Jack', 'age': 14, 'tall': 1.39}]
我想知道python中这些数据结构的等效结构是什么。我怎样才能像a和b一样申报varibale

filtered_T = [v for v in T if v['name'=='someone']] 
这将给

T= [ {'name': 'someone', 'age': 13, 'tall': 1.55}

在Java中,您通常会为此创建一个类

class Person {
    private final String name;
    private final int age;
    private final double height;

    //constructors, etc.
}
然后您将拥有一个保存元素的数据结构。一个
列表
可以完美地完成这里的工作

Person p1 = new Person("someone", 13, 1.55);
Person p2 = new Person("Jack", 14, 1.39);

List<Person> personsList = Arrays.asList(p1, p2);

基本上,您可以从原始列表中获取流,过滤以“someone”作为名称的person实例,并将过滤后的元素收集到一个列表中,然后将其分配回变量
personsList


第二种方法删除列表中的元素。当然,只有当实现支持删除元素时,它才起作用。

您需要创建一个映射数组。您可以使用
List
。您能在示例中演示一下吗?@luigimendoza使用一个结构并将其添加到SortedList中如何?好的,现在您的问题清楚且更简洁了,谢谢你的回答。感谢你的帮助。你能帮忙吗?
Person p1 = new Person("someone", 13, 1.55);
Person p2 = new Person("Jack", 14, 1.39);

List<Person> personsList = Arrays.asList(p1, p2);
personsList = personsList.stream()
                         .filter(p -> p.getName().equals("someone"))
                         .collect(Collectors.toList());
personsList.removeIf(p -> !p.getName().equals("someone"));