繁体   English   中英

用Java映射两个字符串数组

[英]Mapping Two String Arrays in Java

我试图找出是否有一种更简单的方法来映射Java中的两个字符串数组。 我知道在Python中 ,用两行代码很容易。 但是,我不确定Java是否提供比遍历两个字符串数组更简单的选项。

String [] words  = {"cat","dog", "rat", "pet", "bat"};

String [] numbers  = {"1","2", "3", "4", "5"};

我的目标是将数字中的字符串“ 1”与单词中的字符串“ cat”相关联,将字符串“ 2”与字符串“ dog”相关联,依此类推。

每个字符串数组将具有相同数量的元素。

例如,如果我有一个随机的给定字符串“ rat”,我想返回数字3,它是来自相应字符串数组的映射整数。

诸如字典或列表之类的东西。 任何想法将不胜感激。

您需要的是Java中的Map。

地图的用法示例:

 Map<String,String> data = new HashMap<String,String>();
`   for(int i=0;i<words.length;i++) {
    data.put(words[i],numbers[i]);
 }

有关更多详细信息,请参阅https://docs.oracle.com/javase/tutorial/collections/interfaces/map.html

适用于HashMap的Oracle文档

import java.util.HashMap;
import java.util.Map;

public class HashMapExample {
    public static void main(String[] args) {
        String[] words = {"cat","dog", "rat", "pet", "bat"};
        String[] numbers = {"1","2", "3", "4", "5"};

        Map<String,String> keyval = new HashMap<String,String>();

        for(int  i = 0 ; i < words.length ; i++ ){
            keyval.put(words[i], numbers[i]);
        }

        String searchKey = "rat";

        if(keyval.containsKey(searchKey)){
            System.out.println(keyval.get(searchKey));
        }
    }

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM