JAVA基础 接口与继承 HashMap使用

https://blog.csdn.net/u010575093/article/details/50731281

抽象类中可以定义成员变量,而接口中定义的成员变量实际上都是常量
接口不可继承抽象类,抽象类可实现多个接口。接口与接口之间是继承,用extends,可继承多个接口

mport java.util.HashMap;
import java.util.Map;

interface Test{
        public void mm();
}

interface Test1{
        public void kk();
}
//接口可以继承多个接口
interface Test2 extends Test, Test1{
        public void mk();
}
//抽象类成员都是public,
//抽象类中可以定义成员变量,而接口中定义的成员变量实际上都是常量。
//抽象类可以继承接口,并实现接口方法
abstract class ATest1 implements Test1{
        public void kk(){  System.out.println("ATtest mm");  }
}

abstract class ATest2 implements Test1, Test{
        public void mm(){       System.out.println("ATest2 mm");        }
        public void kk(){}
}
// 抽象类可以继承抽象类 也可以继承实体类
abstract class ATest3 extends ATest1{

}

class Solution{
	//时间复杂度n
        public void tosum(int[] nums, int target){
                Map<Integer, Integer> map = new HashMap<>();
                for(int i = 0; i < nums.length; i++)
                        map.put(nums[i],i);
                for(int i = 0; i < nums.length; i++){
                        int comp = target - nums[i];
                        System.out.println("comp="+comp+" containsKey "+map.containsKey(comp));
                        System.out.println("map get "+map.get(comp));
                        if(map.containsKey(comp) && map.get(comp)!=i){
                                System.out.println("match:"+i+" "+map.get(comp));
                        }
                }
                System.out.println("tosum");
        }
        //时间复杂度1
        public int[] tosum1(int[] nums, int target){
                Map<Integer, Integer> map = new HashMap<>();
                for (int i = 0; i < nums.length; i++) {
                        int complement = target - nums[i];
                        if (map.containsKey(complement)) {
                                return new int[] { map.get(complement), i };
                        }
                        map.put(nums[i], i);
                }
                throw new IllegalArgumentException("No two sum solution");
        }
}
class HashSum{

        public static void main(String argv[]){
                System.out.println("111");
                new Solution().tosum();
        }
}

猜你喜欢

转载自blog.csdn.net/LHshooter/article/details/84564642
今日推荐