18.9.4
1、HashMap转List
List<Map.Entry<String, Double>> list_Data = new ArrayList<Map.Entry<String, Double>>(map_Data.entrySet());
参考:https://blog.csdn.net/hellobobantang/article/details/7361455
2、列表排序
CityModel city1 = new CityModel();
city1.setCity_code(1);
CityModel city2 = new CityModel();
city2.setCity_code(1);
CityModel city3 = new CityModel();
city3.setCity_code(1);
CityModel city4 = new CityModel();
city4.setCity_code(1);
CityModel city5 = new CityModel();
city5.setCity_code(1);
ArrayList<CityModel> list = new ArrayList<>();
list.add(city1);
list.add(city2);
list.add(city3);
list.add(city4);
list.add(city5);
Collections.sort(list, new Comparator<CityModel>(){
public int compare(CityModel o1, CityModel o2) {
//按照CityModel的city_code字段进行降序排列
if(o1.getCity_code() < o2.getCity_code()){
return 1;
}
if(o1.getCity_code() == o2.getCity_code()){
return 0;
}
return -1;
}
});
System.out.println(list);
参考:https://www.cnblogs.com/vicF/p/7780440.html
18.7.20
访问权限
作用域 当前类 同一package 子孙类 其他package
public √ √ √ √
protected √ √ √ ×
friendly √ √ × ×
private √ × × ×
不写时默认为friendly ,也即是“包访问权限”。
1.私有权限 private
private可以修饰数据成员,构造方法,方法成员,不能修饰类(此处指外部 类,不考虑内部类)。被private修饰的成员,只能在定义它们的类中使用,在 其他类中不能调用。
2.默认权限 (default)
类,数据成员,构造方法,方法成员,都能够使用默认权限,即不写任何关 键字。默认权限即同包权限,同包权限的元素只能在定义它们的类中,以及同包 的类中被调用。
3.受保护权限protected
protected可以修饰数据成员,构造方法,方法成员,不能修饰类(此处指外 部类,不考虑内部类)。被protected修饰的成员,能在定义它们的类中,同包 的类中被调用。如果有不同包的类想调用它们,那么这个类必须是定义它们的类 的子类。
4.公共权限 public
public可以修饰类,数据成员,构造方法,方法成员。被public修饰的成员 ,可以在任何一个类中被调用,不管同包或不同包,是权限最大的一个修饰符。
有关Java语言的修饰符,需要注意的问题有如下几个:
1.并不是每个修饰符都可以修饰类(指外部类),只有public和default可 以。
2.所有修饰符都可以修饰数据成员,方法成员,构造方法。
3.为了代码安全起见,修饰符不要尽量使用权限大的,而是适用即可。比如 ,数据成员,如果没有特殊需要,尽可能用private。
4.修饰符修饰的是“被访问”的权限。
参考:https://www.cnblogs.com/pengfeiliu/p/3745934.html
https://zhidao.baidu.com/question/200567393.html 这个讲也不错
——————————
18.5.15
1、default关键字,是java8新特性,用在接口中修饰方法的。
传统的接口中的方法不允许有方法体,如果有方法体就会报错。
但是接口中被default修饰的方法可以有方法体,接口在被实现的时候,该方法可以被重写,也可以不被重写。
被重写时执行当然效果是重写后的效果,不被重写时执行当然就是接口中方法体的内容。
public interface Default {
default public void method(){
System.out.println("method in interface");
}
default public void doSomeThing(){
System.out.println("do something in interface");
}
}
public class DefaultImpl implements Default {
@Override
public void method() {
System.out.println("method in Class");
}
public static void main(String[] args){
Default d = new DefaultImpl();
d.method();
d.doSomeThing();
}
}
运行结果:
method in Class
do something in interface"
参考:https://blog.csdn.net/MOVIE14/article/details/76559479
网友评论