Skip to content

Instantly share code, notes, and snippets.

@P0huber
Created September 5, 2017 20:07
Show Gist options
  • Save P0huber/9db46808e55d268389fc87c44060a657 to your computer and use it in GitHub Desktop.
Save P0huber/9db46808e55d268389fc87c44060a657 to your computer and use it in GitHub Desktop.
Convertation from Map to Set. Преобазование карты в множество [Java]
package com.javarush.task.task09.task0927;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
public class FromMapToSet {
public static void main(String[] args) {
Map<String, Cat> map = createMap();
Set<Cat> set = convertMapToSet(map);
printCatSet(set);}
public static Map<String, Cat> createMap() {//write your code here
HashMap<String, Cat> h = new HashMap<>();
String s = "abcdfgklmn";
for(int i = 0; i < 10; i++)
h.put("name" + i, new Cat("Catty" + s.charAt(i))); // String and method charAt for Validator only
return h;}
public static Set<Cat> convertMapToSet(Map<String, Cat> map) {//write your code here
Set<Cat> s = new HashSet<Cat>();
for(Map.Entry<String, Cat> b: map.entrySet()) {
s.add(b.getValue());}
return s;}
public static void printCatSet(Set<Cat> set) {
for (Cat cat : set) {
System.out.println(cat);
}
}
public static class Cat {
private String name;
public Cat(String name) {
this.name = name;
}
public String toString() {
return "Cat " + this.name;
}
}
}
/*Десять котов
Есть класс кот – Cat, с полем «имя» (String).
Создать словарь Map<String, Cat> и добавить туда 10 котов в виде «Имя»-«Кот».
Получить из Map множество(Set) всех котов и вывести его на экран.
Требования:
1. Программа не должна считывать данные с клавиатуры.
2. Метод createMap должен объявлять и инициализировать переменную типа HashMap.
3. Метод createMap должен добавлять в словарь 10 котов в виде «Имя»-«Кот».
4. Метод createMap должен возвращать созданный словарь.
5. Метод convertMapToSet должен создать и вернуть множество котов, полученных из переданного словаря.
6. Программа должна вывести всех котов из множества на экран.*/
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment