当前位置: 代码迷 >> 综合 >> JAVA基础——泛型和容器类7_27
  详细解决方案

JAVA基础——泛型和容器类7_27

热度:44   发布时间:2024-02-01 22:18:22.0

创建HashMap对象,初始化,替换,遍历的三种方式

//创建HashMap对象Map<Integer,String> map1=new HashMap <>();map1.put(001, "Andy");map1.put(001,"Cintry");//key不可以重复,value可以重复map1.put(002,"Smith");System.out.println(map1);//输出System.out.println(map1.get(001));//取值map1.replace(001, "升工资");//替换其中的某个数据System.out.println(map1);//遍历的三种方式//1,获取所有的Key,再获取所有的值Set<Integer> set1=map1.keySet();for(Integer x:set1) {String valve=map1.get(x);System.out.println(valve);	}//2.直接获取所有的值Collection<String> value = map1.values();for(String s:value) {System.out.println(s);}//3.内部接口Set<Map.Entry<Integer, String>> set2=map1.entrySet();for(Map.Entry<Integer, String> entry:set2) {System.out.println("3_"+entry);}

HashTable

// 创建一个HashTable对象Hashtable <Integer,String> table = new Hashtable<Integer,String>();table.put(001, "小红帽");//输出Set<Integer> set = table.keySet();//由键得值for(Integer key :set) {String value = table.get(key);System.out.println(value);}//键值对Set<Entry<Integer,String>>set2=table.entrySet();for(Entry<Integer,String> entry:set2) {System.out.println(entry);}//获取所有值Collection <String>c=table.values();for(String v:c) {System.out.println("3_"+v);}//枚举遍历的方法//输出值Enumeration<String> enum2=table.elements();while(enum2.hasMoreElements()) {System.out.println(enum2.nextElement());}//输出键Enumeration<Integer> enum3=table.keys();while(enum3.hasMoreElements()) {System.out.println(enum3.nextElement());}

外部比较Collections排序

//创建一个对象List的经典题比较年龄的大小,小的在前大的在后
//用于外部比较CompareToimport java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.List;class Cat implements Comparable<Cat>{//创建Cat类private String name;private int age;public Cat(String name, int age) {//有参构造函数this.name = name;this.age = age;}@Overridepublic int compareTo(Cat arg0) {// TODO Auto-generated method stubreturn this.age-arg0.age;//比较年龄}@Overridepublic String toString() {//打印return "Cat [name=" + name + ", age=" + age + "]";}}public class m5 {public static void main(String[] args) {// TODO Auto-generated method stubList<Cat> list = new ArrayList<Cat>();//ArrayListlist.add(new Cat("加菲猫",2));list.add(new Cat("机器猫",3));Collections.sort(list);//外部比较System.out.println(list);}

ArrayList的正序输出和逆序输出

List <String> c = new ArrayList<String>();c.add("a");c.add("b");c.add("c");ListIterator<String> itor = c.listIterator();//正序输出while(itor.hasNext()) {System.out.println(itor.next());}//逆序输出while(itor.hasPrevious()) {System.out.println(itor.previous());}

ArrayList的一些方法

ArrayList<Integer> list=new ArrayList<Integer>(); //一次性将许多值存入List集合Collections.addAll(list, 12,13,24,11,9);System.out.println(list);//求最大值int max = Collections.max(list);System.out.println(max);//将集合反转Collections.reverse(list);System.out.println(list);//交换Collections.swap(list, 0, list.size()-1);System.out.println(list);//随机洗牌Collections.shuffle(list);System.out.println(list);

将jdk的属性全部存到一个hashmap中

Properties pros =System.getProperties();//JDK所有属性HashMap<String, String> map=new HashMap<String, String>();Set<Object> set = pros.keySet();//将属性存入Map盒子里面for(Object key:set) {String value =pros.getProperty((String)key);map.put((String)(key), value);}System.out.println(map);