• 微信公众号:美女很有趣。 工作之余,放松一下,关注即送10G+美女照片!

Hash Map集合和Hash Set集合

开发技术 开发技术 1个月前 (01-30) 18次浏览

 

HashMap集合的使用

  1.1、每个集合对象的创建(new)
  1.2、从集合中添加元素
  1.3、从集合中取出某个元素
  1.4、遍历集合

public class HashMapTest {
public static void main(String[] args) {
// 创建Map集合
Map<Integer, String> map = new HashMap<>();

// 添加元素
map.put(1, "小明");
map.put(8, "小周");
map.put(15, "小张");
map.put(31, "小剑");
map.put(31, "king");

// 获取元素个数
System.out.println(map.size());

// 获取key是8的元素
System.out.println(map.get(8));

// 重点,遍历Map集合
// 第一种方式,获取所有的key,遍历key的时候,通过key来获取value。
Set<Integer> keys = map.keySet();
for (Integer key : keys) {
System.out.println(key + "=" + map.get(key));
}

// 第二种方法:是将Map集合转换成Set集合Set集合中的每一个元素是node。
// 这个node节点有key和value
Set<Map.Entry<Integer, String>> nodes = map.entrySet();
for (Map.Entry node : nodes) {
System.out.println(node);
}
}
}

HashSet集合的使用

 

  1.1、每个集合对象的创建(new)
  1.2、从集合中添加元素
  1.3、从集合中取出某个元素
  1.4、遍历集合
  1.5、测试HashSet集合的特点
public class HashSetTest {
public static void main(String[] args) {

// 创建Set集合
Set<String> set = new HashSet<>();

// 添加元素
set.add("abc");
set.add("def");
set.add("ghi");
set.add("jkl");
System.out.println(set.size());

// 遍历集合
// 迭代器
Iterator<String> it = set.iterator();
while (it.hasNext()) {
System.out.println(it.next());
}

System.out.println("----------------");

// 增强for循环
for (String s : set) {
System.out.println(s);
}

// 无序不可重复
set.add("abc");
set.add("abc");
set.add("abc");
System.out.println(set.size());

set.add("1");
set.add("king");
set.add("2");

for (String s : set) {
System.out.println("---->" + s);
}

System.out.println("----------------");

// 测试Student
Set<Student> students = new HashSet<>();
students.add(new Student(01,"小明"));
students.add(new Student(02,"小花"));
students.add(new Student(01,"小明"));
System.out.println(students.size());

// 遍历
for (Student s : students) {
System.out.println(s);
}
}
}

class Student {
int id;
String name;

public Student() {
}

public Student(int id, String name) {
this.id = id;
this.name = name;
}

@Override
public String toString() {
return "Student{" +
"name='" + name + ''' +
'}';
}

@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Student student = (Student) o;
return Objects.equals(name, student.name);
}

@Override
public int hashCode() {
return Objects.hash(name);
}
}
 



程序员灯塔
转载请注明原文链接:Hash Map集合和Hash Set集合
喜欢 (0)