方案一:借助Set的特性进行去重
public static List< Map< String, Object> > distinct ( List< Map< String, Object> > list) {
final boolean sta = null != list && list. size ( ) > 0 ;
if ( sta) {
Set set = new HashSet ( ) ;
List doubleList= new ArrayList ( ) ;
set. addAll ( list) ;
doubleList. addAll ( set2) ;
return doubleList;
}
return null;
}
12345678910111213141516
方案二 : 利用set集合特性保持顺序一致去重
public static void delRepeat ( List< String> list) {
List< String> listNew = new ArrayList < String> ( new TreeSet < String> ( list) ) ;
List< String> listNew2 = new ArrayList < String> ( new LinkedHashSet < String> ( list) ) ;
}
1234567
方案三 : 使用list自身方法remove()
public static List< Map< String, Object> > distinct ( List< Map< String, Object> > list) {
if ( null != list && list. size ( ) > 0 ) {
for ( int i = 0 ; i < list. size ( ) ; i++ ) {
Map map= list. get ( i) ;
for ( int j = 1 ; j < list. size ( ) ; j++ ) {
Map map2= list. get ( j) ;
if ( map. equals ( map2) ) {
list. remove ( j) ;
continue ;
}
}
}
}
return list;
}
1234567891011121314151617181920212223
方案四 : 遍历List集合,将元素添加到另一个List集合中
public static List< String> delRepeat ( List< String> list) {
List< String> listNew = new ArrayList < String> ( ) ;
for ( String str : list) {
if ( ! listNew. contains ( str) ) {
listNew. add ( str) ;
}
}
return listNew ;
}
1234567891011
方案5 : 使用Java8特性去重
public static List< String> delRepeat ( List< String> list) {
List< String> myList = list. stream ( ) . distinct ( ) . collect ( Collectors. toList ( ) ) ;
return myList ;
}