List很重。 网上有很多文章,其实我们写代码的过程中一种就足够了。 我认为这是以下最优雅的写法。
1 .列表中包含基本数据类型的数据publicstaticvoidmain (string [ ] args ) ) liststringstrs=arrays.as list (' a '、' b '、' a ' ); liststringcollect=strs.stream (.distinct ).collect )、collectors.tolist ); for(stringstr:collect ) system.out.println ) str; } } 2.list包含实体对象,根据对象的任何属性,使用publicstaticvoidmain (字符串[ ] args ) ) persona=newperson ) ' a ',2,} 人员=新人员(' b ',2,2 ); 人员=新人员(' a ',2,3 ); listpersonpeople=arrays.as list (a,b,c ); listpersoncollect=people.stream (.filter (distinctbykey ) person33603360getid ).collect (collectors.to list ) ) ) for(PersonPerson:collect ) system.out.println (person.tostring (); } publicstatictpredicatetdistinctbykey (功能? super T, key extractor (setobjectseen=concurrent hashmap.new keyset ); returnt-seen.add (密钥提取器. apply (t ) ); }