Person类中定义name和age属性,重写hashCode()方法和equals()方法,针对Person类的name属性进行比较,如果name相同,hashCode()方法的返回值相同,equals()方法返回true。
Person
public class Person {private String name;private int age;public Person(String name, int age) {this.name = name;this.age = age;}public String getName() {return name;}@Overridepublic int hashCode() {return name.hashCode();}@Overridepublic boolean equals(Object obj) {if (!(obj instanceof Person)) {return false;}Person person = (Person) obj;if (name == null) {return person.getName() == null ? true : false;}return name.equals(person.getName());}@Overridepublic String toString() {return "Person [name=" + name + ", age=" + age + "]";}
}
PersonTest
public class PersonTest {public static void main(String[] args) {HashSet set = new HashSet();Person p1 = new Person("张三", 22);Person p2 = new Person("张三", 21);set.add(p1);set.forEach(System.out::println);System.out.println(set.size());set.add(p2);set.forEach(System.out::println);System.out.println(set.size());System.out.println(p1.equals(p2));}
}
(1)创建TreeMap集合。
(2)使用put()方法将学号(“1”“2”“3”“4”“5”)和姓名(“张三”“李四”“王五”“小明”“小李”)存储到Map中,存的时候可以打乱顺序观察排序后的效果。
(3)使用map. keySet()获取键的Set集合。
(4)使用Set集合的iterator()方法获得Iterator对象用于迭代键。
(5)使用Map集合的get()方法获取键所对应的值。
public class TreeMapTest {public static void main(String[] args) {TreeMap treeMap = new java.util.TreeMap();treeMap.put(1, "张三");treeMap.put(2, "李四");treeMap.put(3, "王五");treeMap.put(4, "小明");treeMap.put(5, "小李");// 使用map. keySet()获取键的Set集合System.out.println(treeMap.keySet().toString());// 使用Set集合的iterator()方法获得Iterator对象用于迭代键Iterator> iterator = treeMap.entrySet().iterator();while (iterator.hasNext()) {System.out.println(iterator.next().getKey());}// 使用Map集合的get()方法获取键所对应的值Set> entrySet = treeMap.entrySet();for (Entry entry : entrySet) {System.out.println(entry.getValue());}}
}
(1)编写一个类Test,在该类中定义一个LinkedList集合;
(2)分别使用addFirst()和addLast()方法向集合中添加元素;
(3)使用peekFirst()方法获取集合中的第一个元素;
(4)使用pollFirst()方法获取并移除集合中的第一个元素;
(5)使用pollLast()方法获取并移除集合中的最后一个元素
LinkListTest
public class LinkListTest {public static void main(String[] args) {LinkedList link = new LinkedList();link.add("b");link.add("c");link.add("d");link.add("e");link.addFirst("a");System.out.println("向列表表头添加元素的结果为:" + link);link.addLast("f");link.addLast("g");System.out.println("向列表表尾添加元素的结果为:" + link);System.out.println("集合的第一个元素尾:" + link.getFirst());System.out.println("被移除的元素为:" + link.remove(6));link.pollLast();System.out.println("使用pollLast()方法后的列表:" + link);}
}
按顺序往集合中添加5个字符串对象:“张三”、“李四”、“王五”、“马六”、“赵七”;
对集合进行遍历,分别打印集合中的每个元素的位置与内容;
首先打印集合的大小,然后删除集合中的第3个元素,并显示删除元素的内容,然后再打印目前集合中第3个元素的内容,并再次打印集合的大小。
public class TestArrayList {public static void main(String[] args) {ArrayList list = new ArrayList();list.add("张三");list.add("李四");list.add("王五");list.add("马六");list.add("赵七");for (int i = 0; i < list.size(); i++) {System.out.println("第" + (i + 1) + "条数据为:" + list.get(i));}System.out.println("-------------------");System.out.println("集合大小为:" + list.size());list.remove(2);for (int i = 0; i < list.size(); i++) {System.out.println("第" + (i + 1) + "条数据为:" + list.get(i));}System.out.println("第3条数据为:" + list.get(2));System.out.println("集合大小为:" + list.size());}}
java Concordance Hello world
将得到结果为:
{d=[9],o=[4,6],r=[7],w=[5],H=[0],l=[2,3,8],e=[1]}
public class Concordance {public static void main(String[] args) {@SuppressWarnings("resource")Scanner sc = new Scanner(System.in);String string = sc.nextLine();String[] split = string.split(" ");StringBuilder sb = new StringBuilder();for (String s : split) {sb.append(s);}Map> map = new HashMap<>();for (int i = 0; i < sb.toString().length(); i++) {ArrayList list = new ArrayList<>();char c = sb.charAt(i);if (map.containsKey(c)) {List res = map.get(c);res.add(i);map.put(c, res);} else {list.add(i);map.put(c, list);}}System.out.println(map.toString());}
}
上一篇:MyBatis入门基础
下一篇:智慧教育解决方案-最新全套文件