当前位置: 首页 > news >正文

网站建设实训意义微博seo营销

网站建设实训意义,微博seo营销,如何做网站同步,天河区网站建设List集合去重的方式方式一:利用TreeSet集合特性排序去重(有序)方式二:利用HashSet的特性去重(无序)方式三:利用LinkedHashSet去重(有序)方式四:迭代器去重&am…

List集合去重的方式

  • 方式一:利用TreeSet集合特性排序+去重(有序)
  • 方式二:利用HashSet的特性去重(无序)
  • 方式三:利用LinkedHashSet去重(有序)
  • 方式四:迭代器去重(无序)
  • 方式五:使用list.contains()对全部元素进行判断(有序)
  • 方式六:使用Java8特性(Stream去重)去重(有序)
  • 方式七:使用list自身方法remove()–>不推荐
  • 总结:

方式一:利用TreeSet集合特性排序+去重(有序)

TreeSet可以将字符串类型的数据按照字典顺序进行排序,首字母相同则看第二位

 public static void main(String[] args) {// 一.利用TreeSet集合特性排序+去重List<String> list=new LinkedList<>();list.add("22");list.add("11");list.add("33");list.add("66");list.add("22");list.forEach(item->{System.out.println("去重前的集合:"+item);});System.out.println("-----------------");List<String> result=new LinkedList<>(new TreeSet<>(list));System.out.println("去重后的集合:"+result);}

去重前的集合元素:22
去重前的集合元素:11
去重前的集合元素:33
去重前的集合元素:66
去重前的集合元素:22


去重后的集合:[11, 22, 33, 66]

方式二:利用HashSet的特性去重(无序)

由于Set的特性是无序且不可重复,我们利用这个特性进行两步操作:

  1. 把list放入set中
  2. 把set还回list里
public static void main(String[] args) {// 利用set的特性去重List<String> list=new LinkedList<>();list.add("22");list.add("11");list.add("33");list.add("66");list.add("22");Iterator iter=list.iterator();while(iter.hasNext()){System.out.println("去重前的集合元素:"+iter.next());}System.out.println("-----------------");// result集合存放最终的结果List<String> result=new LinkedList<>();if (list.size()>0&&list!=null){// 新建HashSet集合,将list放入Set<String> set=new HashSet<>();set.addAll(list);// 将去重后的set集合放入结果集合result中result.addAll(set);}System.out.println("去重后的集合:"+result);}

去重前的集合元素:22
去重前的集合元素:11
去重前的集合元素:33
去重前的集合元素:66
去重前的集合元素:22


去重后的集合:[22, 11, 33, 66]

方式三:利用LinkedHashSet去重(有序)

LinkedHashSet虽然可以去重,但是根据它的特性,它不能对数据进行排序,只能维持原来插入时的秩序

  public static void main(String[] args) {// 利用LinkedHashSet集合去重List<String> list=new LinkedList<>();list.add("22");list.add("11");list.add("33");list.add("66");list.add("22");for (int i=0;i<list.size();i++){System.out.println("去重前的集合元素:"+list.get(i));}System.out.println("-----------------");List<String> result=new LinkedList<>(new LinkedHashSet<String>(list));System.out.println("去重后的集合:"+result);}

去重前的集合元素:22
去重前的集合元素:11
去重前的集合元素:33
去重前的集合元素:66
去重前的集合元素:22


去重后的集合:[22, 11, 33, 66]

方式四:迭代器去重(无序)

此方法得到的新集合是无序的,也就是新集合的排列顺序和原集合不一致

public static void main(String[] args) {// 二.迭代器去重(无序)List<String> list=new LinkedList<>();list.add("22");list.add("11");list.add("33");list.add("66");list.add("22");for (String item:list){System.out.println("去重前的集合元素:"+item);}System.out.println("-----------------");Iterator<String> iterator=list.iterator();while (iterator.hasNext()){String next= iterator.next();// 如果存在两个相同的值if (list.indexOf(next)!=list.lastIndexOf(next)){//移除最后那个相同的值iterator.remove();}}System.out.println("去重后的集合:"+list);}

去重前的集合元素:22
去重前的集合元素:11
去重前的集合元素:33
去重前的集合元素:66
去重前的集合元素:22


去重后的集合:[11, 33, 66, 22]

方式五:使用list.contains()对全部元素进行判断(有序)

  • String类型会判断字符串里是否有相同的部分
  • List里则会判断是否有相同的元素
  • 我们可以用list.contains()的方法进行判断,然后将其添加到新的list当中,元素的顺序不发生改变
 public static void main(String[] args) {// 使用list.contains()对全部元素进行判断System.out.println("----------");System.out.println("探究contains()方法");String s1="aaa";String s2="aa";System.out.println(s1.contains(s2));List<String> list0=new LinkedList<>();list0.add("aaa");System.out.println(list0.contains("aa"));System.out.println("----------");List<String> list=new LinkedList<>();list.add("22");list.add("11");list.add("33");list.add("66");list.add("22");System.out.println("去重前的集合:"+list);System.out.println("-----------------");List<String> result=new LinkedList<>();for (String str:list){if (!result.contains(str)){result.add(str);}}System.out.println("去重后的集合:"+result);}

探究contains()方法
true
false


去重前的集合:[22, 11, 33, 66, 22]
去重后的集合:[22, 11, 33, 66]

方式六:使用Java8特性(Stream去重)去重(有序)

把list集合->Stream流,然后对流用distinct()去重,再用collect()收集

public static void main(String[] args) {// 使用Java8特性去重List<String> list=new LinkedList<>();list.add("22");list.add("11");list.add("33");list.add("66");list.add("22");System.out.println("去重前的集合:"+list);System.out.println("-----------------");List<String> result=new LinkedList<>();result=list.stream().distinct().collect(Collectors.toList());System.out.println("去重后的集合:"+result);}

去重前的集合:[22, 11, 33, 66, 22]


去重后的结集合:[22, 11, 33, 66]

方式七:使用list自身方法remove()–>不推荐

  • 如果你的list里存的比较复杂,是一个List<Map<String,Object>>格式的情况,最无奈之举就是这种方法
  • 主要操作是将同一个list用两层for循环配合.equals()方法,有相同的就用remove()方法剔除掉,然后得到一个没有重复数据的list
  public static List<Map<String,Object>> distinct(List<Map<String,Object>> list){if (list!=null && list.size()>0){for (int i=0;i<list.size();i++){for (int j=list.size()-1;j>i;j--){// 这里是对象的比较,如果去重条件不一样,修改这里即可if (list.get(j).equals(list.get(i))){list.remove(j);}}}}return list;}

总结:

介绍集合去重的方法中实现最简洁,且去重之后的顺序能和原集合保持一致的实现方法,只有两种:LinkedHashSet 去重和 Stream 去重,其中后一种去重方法无需借助新集合,是我们优先考虑的去重方法

http://www.shuangfujiaoyu.com/news/51135.html

相关文章:

  • 小程序做跳转微网站海外短视频跨境电商平台是真的吗
  • 结合公众号小店做网站如皋网站制作
  • 怎么做监测网站的浏览量今天有哪些新闻
  • 江门当地的免费网站优化文明seo
  • 网站制作优质公司青岛谷歌优化公司
  • 湘潭网站建设 磐石网络在哪产品推广策划方案怎么做
  • 大连专业模板网站制作网络营销策划方案
  • 政府网站建设情况介绍企业网站制作公司
  • 建设一个购物网站多少钱网站推广工具有哪些
  • 网站备案查询验证码错误淘宝自动推广软件
  • 深圳网站制作网络建设公司南京seo域名
  • h5网站开发流程图seo简单优化
  • 网站后台发表文章seo教程seo官网优化详细方法
  • 昆明做网站那家好个人在线网站推广
  • 自己做的网站有什么用下载百度 安装
  • 湖北网站建设哪家专业广告联盟app推广
  • 怎样做网站推销产品旅游企业seo官网分析报告
  • 如何选择大连网站建设广州发布紧急通知
  • 做网站的素材图片重庆森林为什么不能看
  • 免费开网店app十大seo公司
  • 哪个网站做公司业务广告效果好国际新闻直播
  • 如何搭建网站服务器在线推广企业网站的方法有
  • 诚信档案建设网站百度指数是怎么计算的
  • 美国人做的汉字网站常用的seo网站优化排名
  • 国家发改委网站储气能力建设如何注册一个平台
  • 百度推广官网首页网站优化seo教程
  • 网站是数据安卓优化大师清理
  • 做互联网产品和运营必备的网站关键词查询网址
  • 正邦网站建设 优帮云海南百度推广公司有哪些
  • 做app 需要先做网站吗如何优化seo技巧