关联数组以(键,值)对的形式存储元素集。关联数组包含唯一的键和值的集合,将每个键与单个值相关联。 java中的关联数组数据结构有利于广泛的应用。与 Perl 和 PHP(使用哈希变量)一样,其他编程语言也实现了使用关联数组数据结构的功能。由于关联数组以(键,值)对的形式存储元素,因此要访问关联数组中的元素,我们需要调用数组的名称和密码(我们要访问其值)。
广告 该类别中的热门课程 JAVA 掌握 - 专业化 | 78 课程系列 | 15 次模拟测试例如,一个数组(名称为分数)存储学生的学号和分数。要访问特定学生的分数,我们应该将此称为marks[102],其中marks是一个数组名称,而102是学生的rollno,而不是索引号,这在java.lang.String数组中是不可能的。因此,关联数组在技术上在java中不支持,但可以使用java.util.HashMap类实例的形式来实现。
语法:
Map <String, String> map = new HashMap <String, String>( ); // creates Map where keys and values of string type //method to store elements map.put( "key1", "value1" ); map.put( "key2", "value2" ); // etc // method to access value map.get( "key1" ); // returns "value1" as output
关联数组的优点
使用关联数组,我们可以将有意义的键分配给数组元素的值,保存更多元素,并将字符串作为键分配给数组的元素。
我们通过下面的示例java代码来理解上述方法。要创建地图,我们需要导入允许使用地图的实用程序。因此我们将导入 Map 和 HashMap 实用程序。以下是在 Java 中实现关联数组的示例:
遍历关联数组的各种方法
代码:
import java.util.HashMap; public class Demo { public static void main(String[] args ) { HashMap <String, String> capitals = new HashMap <String, String>(); capitals.put("Spain", "Madrid"); capitals.put("United Kingdom", "London"); capitals.put("India", "Delhi"); capitals.put("Argentina", "Buenos Aires"); System.out.println("The Size of capitals Map is : " + capitals.size()); // Remove an element from the HashMap capitals.remove("United Kingdom"); // To display size of the hashtmap System.out.println("The Size of capitals Map is : " + capitals.size()); // Check the existence of key in the Hashmap String key = "India"; if (capitals.containsKey( key )) { System.out.println("The capital of " + key + " is: " + capitals.get( key )); } else { System.out.println("There is no entry for the capital of " + key); } } }
输出:
使用迭代器方法遍历关联数组
代码:
import java.util.HashMap; import java.util.Iterator; import java.util.Map; public class DurationClassDemo { public static void main(String[] args) { HashMap<String, String> capitals = new HashMap<String, String>(); capitals.put("Spain", "Madrid"); capitals.put("United Kingdom", "London"); capitals.put("India", "Delhi"); capitals.put("Argentina", "Buenos Aires"); System.out.println("The Size of capitals Map is : " + capitals.size()); Iterator i = capitals.entrySet().iterator(); // Iterate through the hashmap while (i.hasNext()) { Map.Entry ele = (Map.Entry)i.next(); System.out.println(ele.getKey() + " : " + ele.getValue()); } } }
输出:
使用 for-each 循环遍历关联数组
代码:
import java.util.HashMap; import java.util.Iterator; import java.util.Map; public class DurationClassDemo { public static void main(String[] args) { HashMap<String, String> capitals = new HashMap<String, String>(); capitals.put("Spain", "Madrid"); capitals.put("United Kingdom", "London"); capitals.put("India", "Delhi"); capitals.put("Argentina", "Buenos Aires"); System.out.println("The Size of capitals Map is : " + capitals.size()); for (Map.Entry ele : capitals.entrySet()) { String key = (String)ele.getKey(); System.out.println(key + " : " + ele.getValue()); } } }
输出:
使用 hashmap 的 forEach( ) 方法遍历关联数组
代码:
import java.util.HashMap; import java.util.Iterator; import java.util.Map; public class DurationClassDemo { public static void main(String[] args) { HashMap<String, String> capitals = new HashMap<String, String>(); capitals.put("Spain", "Madrid"); capitals.put("United Kingdom", "London"); capitals.put("India", "Delhi"); capitals.put("Argentina", "Buenos Aires"); System.out.println("The Size of capitals Map is : " + capitals.size()); capitals.forEach((k, v) -> System.out.println(k + " : " + v )); } }
输出:
简单来说,java中的关联数组将元素的集合存储在一个键中;关联数组中的值对是唯一键和值的集合,其中每个键与一个值关联。我们可以使用 hashMap 内置的 java 类来实现关联数组,如上面的示例所示。
以上是Java 中的关联数组的详细内容。更多信息请关注PHP中文网其他相关文章!