背景:有一批数据源从kafka给过来,接收到后需要处理,然后入库,我们用一个线程消费下来,一次消费30000条, 按照对象的概念,可以用List<Person>来表示,因为某种原因,需要根据记录的主键personId先在内存做去重(覆盖)处理 在新特性之前,正常的思路会是:list转为map,key为personId,put的时候相同的personId后面的覆盖前面的 java8新特性中,对这种情形有优雅的处理方式,我们分两种: (1)不关心覆盖逻辑,相同personId只留一条 public…
list中的对象某个属性存在重复时将重复的对象去重 //根据skuAttrValueName值去重 List<SkuValue> uniqueSkuValues = skuValues.stream().collect( Collectors.collectingAndThen(Collectors.toCollection( () -> new TreeSet<>(Comparator.comparing(o -> o.getSkuAttrValueName())))…
1. 添加方法: import java.util.concurrent.ConcurrentHashMap; import java.util.function.Function; import java.util.function.Predicate; import java.util.stream.Collectors; private static <T> Predicate<T> distinctByKey(Function<? super T, Object>…
问题容易出现在多个人合作的项目中,定义bean的名字的时候发生重复. 可以配置当bean定义重复的时候抛出异常,结束程序,强制提示更改重复的bean.…
1. 使用java8 提取出 list 中 bean 的某一属性 public static void main(String[] args) { List<Student> stuList = new ArrayList<Student>(); Student st1 = new Student("123","aaa"); Student st2 = new Student("234","bbb");…
命名空间表 aop Provides elements for declaring aspects and for automatically proxying @AspectJannotated classes as Spring aspects. beans The core primitive Spring namespace, enabling declaration of beans and how they should be wired. context Comes with el…
面试中经常被问到的list如何去重,用来考察你对list数据结构,以及相关方法的掌握,体现你的java基础学的是否牢固.我们大家都知道,set集合的特点就是没有重复的元素.如果集合中的数据类型是基本数据类型,可以直接将list集合转换成set,就会自动去除重复的元素,这个就相对比较简单.如下示例: public class Test { public static void main(String[] args) { List list = new ArrayList(); list.add(1…
01.使用两个for循环实现List去重(有序) /**使用两个for循环实现List去重(有序)     *     * @param list     * */    public static List removeDuplicationBy2For(List<Integer> list) {        for (int i=0;i<list.size();i++)        {            for (int j=i+1;j<list.size();j++)…
一.代码例子 此节开始涉及到一个bean具体生成和保存的过程,仅仅涉及到最简单的bean,代码依旧是最简单的 public static void main(String[] args) { DefaultListableBeanFactory beanFacory=new DefaultListableBeanFactory(); XmlBeanDefinitionReader reader=new XmlBeanDefinitionReader(beanFacory); reader.loa…
abstract 属性说明 abstract 在java的语义里是代表抽象的意思,用来说明被修饰的类是抽象类.在Spring中bean标签里的 abstract 的含义其实也差不多,表示当前bean是一个抽象的bean,从而不会为它生成实例化对象. 声明一个bean,但是又不让它实例化??? 莫方,存在即合理,abstract 属性存在必定有其存在的意义,且听我慢慢道来. parent 属性说明 在此之前,我们先说一下另一个属性: parent ,顾名思义,就是一个认爸爸的属性,用来表明当前的b…