关于java:如何将用户输入添加到矢量以及如何搜索该数据

how to add user input into a vector and how to search that data

我是爪哇人。我想将用户输入添加到向量中,然后搜索它们….

1
2
3
4
5
Scanner input = new Scanner(System.in);
String Name;
String Address;
Name = input.nextLine();
Address = input.nextLine();

如何将这两个输入放到一个向量中,这些名称和地址必须像一对一样工作,我的意思是如果我存储name=john和address=canada(无论什么)。如果我搜索约翰,它会显示…约翰来自加拿大。像这样。如果我在向量中加上50个名字和地址,我想按名字搜索它们…怎么做?

因为我不知道Vector是如何工作的,所以请告诉我如何存储用户输入以及如何搜索它们。

如果你在阵列列表中给我看同样的东西,那就太好了。


Java向量不再常用了。您可以使用列表和映射的组合,如本文中所述,但也许您可以只创建具有名称和地址的Person对象,并将其添加到ArrayList中而不是?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
import java.util.ArrayList;
import java.util.List;

public class Main {

    public static void main(String[] args){

        List<Person> persons = new ArrayList<>();
        persons.add( new Person("John","Canada") );
        persons.add( new Person("John","USA") );
        persons.add( new Person("John","Mexico") );

        //java 8
        persons.stream().forEach((p) -> {
            System.out.println("Name:" + p.getName() +", Address:"+ p.getAddress());
        });

        //java 7
        for(Person p : persons){
            System.out.println("Name:" + p.getName() +", Address:"+ p.getAddress());
        }

    }

}

class Person {

    private final String name;
    private final String address;

    public Person(String name, String address){
        this.name = name;
        this.address = address;
    }

    public String getName() {
        return name;
    }

    public String getAddress() {
        return address;
    }

}