zoukankan      html  css  js  c++  java
  • java 16-1 ArrayList的练习1

      需求:

        ArrayList去除集合中字符串的重复值(去掉相同的字符串)
      分析:
        第一种做法:创建一个新的空集合:
          A:创建1个具有相同字符串的集合
          B:创建1个空的集合
          C:遍历第一个集合里面的元素
          D:把遍历的元素一个个放进去第二个集合中,但有条件
              a:若第二个集合中没有这个元素,则添加进去
              b:若有这个元素,则不添加
          E:遍历第二个集合,输出

     1 package cn_ArrayList;
     2 
     3 import java.util.ArrayList;
     4 import java.util.Iterator;
     5 public class ArrayListTest1 {
     6 
     7 public static void main(String[] args) {
     8 //创建具有相同字符串的集合
     9 ArrayList list1 = new ArrayList();
    10 //给这个集合添加元素,有重复值
    11 list1.add("阿猫");
    12 list1.add("阿狗");
    13 list1.add("草草");
    14 list1.add("花花");
    15 list1.add("阿猫");
    16 list1.add("草草");
    17 list1.add("阿狗");
    18 list1.add("阿狗");
    19 
    20 //再创建一个空内容的集合
    21 ArrayList list2 = new ArrayList();
    22 
    23 //遍历第一个集合
    24 for(int x = 0 ; x < list1.size(); x++){
    25 String s = (String)list1.get(x);
    26 
    27 //判断第二个集合中是否包含此刻遍历的这个元素
    28 if(! list2.contains(s)){
    29 list2.add(s);
    30 }
    31 }
    32 //遍历第二个集合
    33 Iterator it = list2.iterator();
    34 while(it.hasNext()){
    35 String ss = (String)it.next();
    36 System.out.println(ss);
    37 }
    38 }
    39 
    40 }


    第二种方法:

      需求:

         ArrayList去除集合中字符串的重复值(去掉相同的字符串)
      分析:
        第二种方法:自身元素进行对比
          A:创建一个含有重复元素的集合
          B:利用选择排序法的思想进行查询
              a:索引0的跟后面的对比
                1:若有相同的,则删除后面的,此时注意,要对这个集合的元素减去1
                2:若没有相同的,则保留
              b:第一轮后,索引1再次重复a步骤
          C:遍历集合,输出

     1 package cn_ArrayList;
     2 
     3 import java.util.ArrayList;
     4 import java.util.Iterator;
     5 public class ArrayListTest2 {
     6 
     7 public static void main(String[] args) {
     8 //创建一个含有重复元素的集合
     9 ArrayList al = new ArrayList();
    10 
    11 //给集合添加元素,含有重复的
    12 al.add("阿猫");
    13 al.add("阿狗");
    14 al.add("草草");
    15 al.add("花花");
    16 al.add("阿猫");
    17 al.add("草草");
    18 al.add("阿狗");
    19 al.add("阿狗");
    20 
    21 //选择排序法的思想进行查询:
    22 for(int x = 0; x< al.size() - 1; x++ ){ //设置对比的索引
    23 for(int y = x + 1; y < al.size(); y++){ //设置被对比的索引
    24 if(al.get(x).equals(al.get(y))){ //对比集合上x和y索引上的值
    25 al.remove(y); //删除这个相同的元素
    26 y -- ; //每有一个相同的元素,要进行对比的元素就减少1个
    27 }
    28 }
    29 }
    30 //对完成后的集合进行遍历
    31 //方法1:迭代器
    32 Iterator it = al.iterator();
    33 while(it.hasNext()){
    34 String s = (String)it.next();
    35 System.out.println(s);
    36 }
    37 System.out.println("-----------");
    38 
    39 //方法2:for循环
    40 for(int z = 0; z < al.size(); z ++){
    41 String ss = (String)al.get(z);
    42 System.out.println(ss);
    43 }
    44 }
    45 }
    何事都只需坚持.. 难? 维熟尔。 LZL的自学历程...只需坚持
  • 相关阅读:
    centos 安装Phpstorm
    PostgreSQL 里面的 BIGSERIAL
    如何下载symfony
    换行
    javaScript 真经 小感 this 指向
    css3 抖动
    jq 抖动效果
    还是 js 替代 vw vh 了
    常用 Math 属性及方法
    js 判断浏览器类型及版本
  • 原文地址:https://www.cnblogs.com/LZL-student/p/5898263.html
Copyright © 2011-2022 走看看