Java基础
MKalor
专注 | 冷静 | 耐心
展开
-
两个大集合A和B,需要判断C集合是否在A内同时也在B内,哪个思路更好?
两个大集合A和B,需要判断C集合是否在A内同时也在B内,哪个思路更好?突然冒出的几种思路,先记下来(请忽略我的伪伪代码~),根据实际情况使用。:D1.先求A和B的交集D,再判断D是否完全包含B if( ( A retainAll B ) contains C ){ return false;}2.或条件判断A集合和B集合是否不包含Cif( !A contain...原创 2020-01-10 15:27:51 · 263 阅读 · 0 评论 -
解决retainAll()超级慢的方法
例如List<V> aa 和List<V> bb,要求两个列表的交集数据量上百万的时候retainAll()超级超级慢,没有解决办法,因为reatainAll的原理就是遍历外层列表比如aa(aa通常是数量较少的列表),再在循环里判断bb是否包含当前正遍历到的元素aa.get(i),而判断是否包含时contains方法又是一个很笨重的办法,它的原理是去获取元素的下标ind...原创 2019-12-30 16:58:19 · 3357 阅读 · 5 评论 -
java反射--Field用法举例
有参考:https://blog.csdn.net/u014102846/article/details/81481126Class.getField() 获取public类型的属性,包括从父类继承来的字段Class.getDeclaredField() 可以获取本类所有的字段,包括private的,但是不能获取继承来的字段。(注: 这里只能获取到private的字段,但并不能访问该priv...原创 2019-11-22 10:54:41 · 252 阅读 · 0 评论 -
实现了AutoCloseable接口的流,在try块中创建可自动关闭
在try()括号里(称为带资源的try语句)创建的流会自动关闭,原因是实现了AutoCloseable接口public interface Closeable extends AutoCloseable{ public void close() throws IOException;}带资源的try语句的3个关键点:a、由带资源的try语句管理的资源必须是...原创 2019-11-22 10:44:03 · 606 阅读 · 0 评论 -
通过实现接口Comparator的compare方法实现TreeSet自定义排序、Map排序
Comparator是对集合对象或者数组进行排序的比较器接口,实现该接口的public compare(T o1,To2)方法即可实现排序,该方法主要是根据第一个参数o1,小于、等于或者大于o2分别返回负整数、0或者正整数import java.util.Comparator;TreeSet中按照String长度比较String 排序输出 不重复TreeSet<String&...原创 2019-11-21 16:25:02 · 362 阅读 · 0 评论 -
Java三大特性:封装、继承、多态
Java有三大特性:封装、继承、多态1.封装就是把类的某些信息隐藏在类内部,不允许外部程序直接访问,但是可以通过该类提供的方法来实现对隐藏信息的操作和访问。好处:1、良好的封装能够减少耦合2、类内部的结构可以自由修改3、可以对成员进行更精确的控制4、隐藏类的实现细节,方便修改和实现步骤:1.修改属性的可见性 设为private2.创建setter、gette...原创 2018-11-28 16:33:45 · 153 阅读 · 0 评论