2020/12/18java作业十一

 

 

8.如何实现集合对象排序?定义一个复数类并按照复数实部大小对复数对象进行排序。

import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.Comparator;

public class complex {
        public int real;
        public int virtual;
        public complex(int real,int virtual) {
        	this.real=real;
        	this.virtual=virtual;
        }
        
        public String toString() {
        	return String.valueOf(real)+" +"+String.valueOf(virtual)+"i";
        }
        public static void main(String[] args) {
        	ArrayList<complex> list=new ArrayList<complex>();
        	complex a=new complex(3,4);
        	complex b=new complex(-1, 5);
        	complex c=new complex(2, 1);
        	list.add(a);list.add(b);list.add(c);
        	System.out.println(list);
        	Collections.sort(list, new Comparator<complex>() {
        		public int compare(complex c1,complex c2) {
        			return c1.real-c2.real;
        		}
			});
        	System.out.println(list);
        }
}

10.对第七章第6题进行适当改造,将异常类型与中文提示储存在一种 集合类当中,从而实现相应的功能。

import java.util.HashMap;

class myException{
    @SuppressWarnings("rawtypes")
    public HashMap<Class, String> hm = new HashMap<>();
    public myException() {
        hm.put(NullPointerException.class, "空指针异常");
        hm.put(ArithmeticException.class, "算术异常");
        hm.put(Exception.class, "其他异常");
    }
}
public class test {

    public static void main(String[] args) {
        myException ex=  new myException();
        try {
        	String s = null;
            //System.out.println(1/0);//除零异常
            System.out.println(s.charAt(0));//空指针异常
        }catch (NullPointerException e) {
        	Class<?> c = NullPointerException.class;
            System.out.println(ex.hm.get(c));
        }catch (ArithmeticException e) {
        	Class<?> c = ArithmeticException.class;
            System.out.println(ex.hm.get(c));
        }catch (Exception e) {
        	Class<?> c = Exception.class;
            System.out.println(ex.hm.get(c));
            e.printStackTrace();
        }
    }
}

1.

Arraylist

import java.util.ArrayList;
import java.util.Iterator;
public class test {
	public static void main(String[] args) {
		ArrayList<Integer> li = new ArrayList<Integer>();
		for( int i=0;i<10;i++ ) //添加元素
		li.add(i); 

		//遍历元素
		for (int i = 0; i < li.size(); i++) {
			int n = li.get(i);
			System.out.print(n+" ");
		}
		System.out.println(" ");
		li.add(0,99);//在第一个位置添加
		li.remove(1);//删除元素
		li.remove((Integer)5);//移除遇到的第一个指定个元素
		//迭代器
		Iterator<Integer> it = li.iterator();
		while (it.hasNext()) {
			int n = it.next();
			System.out.print(n+" ");
		}
	}
}

LinkedList

import java.util.Iterator;
import java.util.LinkedList;

public class test {
	public static void main(String[] args) {
		String String = new String("AAA");
		String String2 = new String("BBB");
		String String3 = new String("CCC");
		//创建LinkedList集合
		LinkedList<String> li = new LinkedList<String>();
		li.add(String);
		li.add(String2);
		li.add(String3);
		//遍历
		for (int i = 0; i < li.size(); i++) {
			String n = li.get(i);
			System.out.println(n);
		}
		System.out.println(" ");
		li.add(0,String3);//在第一个位置添加
		li.remove(1);//移除第二个元素
		li.remove("CCC");//移除遇到的第一个指定个元素
		//迭代器
		Iterator<java.lang.String> it = li.iterator();
		while (it.hasNext()) {
			String n = (java.lang.String) it.next();
			System.out.println(n);
		}
	}
}

HashSet

import java.util.HashSet;
import java.util.Iterator;

public class test {   
    public static void main(String[] args) {   
        HashSet<Character> set = new HashSet<Character>();
        set.add('a');   
        set.add('b');   
        set.add('c');   
        set.add('d');   
        set.add('e');   
        //迭代遍历:
        Iterator<Character> it = set.iterator();
        while (it.hasNext()) {
          char str = it.next();
          System.out.print(str+" ");
        }
        System.out.println();
        set.remove('c');//去掉指定元素
        
        //for循环遍历:
        for (char str : set) {
              System.out.print(str+" ");
        }
        System.out.println(set.size());//输出大小
    }   
}

HashMap

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;

public class test {
	public static void main(String[] args) {

		HashMap<Integer, String> hashMap = new HashMap<>();
		// 添加元素
		for (int i = 0; i < 5; i++) {
			hashMap.put(i, "随机数" + (int) (Math.random() * 100));
		}
		// 获取元素数量
		System.out.println("size: "+hashMap.size());
		// map的遍历
		for(Map.Entry<Integer, String> entry :hashMap.entrySet() ) {
			System.out.println(entry.getKey()+"  "+entry.getValue());
		}
		// 获取key是3的元素
		System.out.println("key是3: "+hashMap.get(2));
		
		//遍历所有的key
		for(int key:hashMap.keySet()) {
			System.out.print(key+" ");
		}
		//遍历所有的value
		for(String value:hashMap.values()) {
			System.out.print(value+" ");
		}
		System.out.println();
		System.out.println("包含键值为4的吗? "+hashMap.containsKey(4));
		System.out.println("包含指定值为100的吗? "+hashMap.containsValue("随机数100"));
		//迭代器遍历
		Iterator<Entry<Integer, String>> it = hashMap.entrySet().iterator();
		while(it.hasNext()) {
			Entry<Integer, String> next = it.next();
			System.out.println(next.getKey()+"  "+next.getValue());
		}
		System.out.println("-----------------");
		hashMap.remove(3);//移除键值为3的元素
		//通过键找值遍历
		for(int k: hashMap.keySet()) {
			System.out.println(k+"  "+hashMap.get(k));
		}
	}
}

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值