list集合

public class Demo1_ArrayList {

/**
 * * A:案例演示
    * 需求:ArrayList去除集合中字符串的重复值(字符串的内容相同)
    * 思路:创建新集合方式
 */
public static void main(String[] args) {
    ArrayList list = new ArrayList();
    list.add("a");
    list.add("a");
    list.add("b");
    list.add("b");
    list.add("c");
    list.add("c");
    list.add("c");
    list.add("c");

    ArrayList newList = getSingle(list);
    System.out.println(newList);
}

/*
 * 创建新集合将重复元素去掉
 * 1,明确返回值类型,返回ArrayList
 * 2,明确参数列表ArrayList
 * 
 * 分析:
 * 1,创建新集合
 * 2,根据传入的集合(老集合)获取迭代器
 * 3,遍历老集合
 * 4,通过新集合判断是否包含老集合中的元素,如果包含就不添加,如果不包含就添加
 */
public static ArrayList getSingle(ArrayList list) {
    ArrayList newList = new ArrayList<>();                  //1,创建新集合
    Iterator it = list.iterator();                          //2,根据传入的集合(老集合)获取迭代器

    while(it.hasNext()) {                                   //3,遍历老集合
        Object obj = it.next();                             //记录住每一个元素
        if(!newList.contains(obj)) {                        //如果新集合中不包含老集合中的元素
            newList.add(obj);                               //将该元素添加
        }
    }

    return newList;
}

}

public class Demo2_ArrayList {

/**
 * * A:案例演示
        * 需求:ArrayList去除集合中自定义对象元素的重复值(对象的成员变量值相同)
    * B:注意事项
        * 重写equals()方法的
    contains方法判断是否包含,底层依赖的是equals方法
    remove方法判断是否删除,底层依赖的是equals方法
 */
public static void main(String[] args) {
    ArrayList list = new ArrayList();               //创建集合对象
    list.add(new Person("张三", 23));
    list.add(new Person("张三", 23));
    list.add(new Person("李四", 24));
    list.add(new Person("李四", 24));
    list.add(new Person("李四", 24));
    list.add(new Person("李四", 24));

    //ArrayList newList = getSingle(list);          //调用方法去除重复
    //System.out.println(newList);
    list.remove(new Person("张三", 23));
    System.out.println(list);
}

/*
 * 创建新集合将重复元素去掉
 * 1,明确返回值类型,返回ArrayList
 * 2,明确参数列表ArrayList
 * 
 * 分析:
 * 1,创建新集合
 * 2,根据传入的集合(老集合)获取迭代器
 * 3,遍历老集合
 * 4,通过新集合判断是否包含老集合中的元素,如果包含就不添加,如果不包含就添加
 */
public static ArrayList getSingle(ArrayList list) {
    ArrayList newList = new ArrayList<>();                  //1,创建新集合
    Iterator it = list.iterator();                          //2,根据传入的集合(老集合)获取迭代器

    while(it.hasNext()) {                                   //3,遍历老集合
        Object obj = it.next();                             //记录住每一个元素
        if(!newList.contains(obj)) {                        //如果新集合中不包含老集合中的元素
            newList.add(obj);                               //将该元素添加
        }
    }

    return newList;
}

}

public class Demo3_LinkedList {

/**
 *   public void addFirst(E e)及addLast(E e)
    * public E getFirst()及getLast()
    * public E removeFirst()及public E removeLast()
    * public E get(int index);
 */
public static void main(String[] args) {
    LinkedList list = new LinkedList();
    list.addFirst("a");
    list.addFirst("b");
    list.addFirst("c");
    list.addFirst("d");
    list.addLast("e");

    //System.out.println(list.getFirst());
    //System.out.println(list.getLast());
    //System.out.println(list.removeFirst());
    //System.out.println(list.removeLast());

    System.out.println(list.get(1));
    System.out.println(list);
}

}

public class Demo4_LinkedList {

/**
 * 用LinkedList模拟栈结构
 */
public static void main(String[] args) {
    //demo1();
    Stack s = new Stack();
    s.in("a");                              //进栈
    s.in("b");
    s.in("c");
    s.in("d");

    while(!s.isEmpty()) {                   //判断栈结构是否为空
        System.out.println(s.out());        //弹栈
    }
}

public static void demo1() {
    LinkedList list = new LinkedList();                 //创建集合对象
    list.addLast("a");
    list.addLast("b");
    list.addLast("c");
    list.addLast("d");

    /*System.out.println(list.removeLast());
    System.out.println(list.removeLast());
    System.out.println(list.removeLast());
    System.out.println(list.removeLast());*/

    while(!list.isEmpty()) {
        System.out.println(list.removeLast());
    }
}

}

public class Demo5_ArrayListArrayList {

/**
 * * A:案例演示
 * 集合嵌套之ArrayList嵌套ArrayList
 * 案例:
 * 我们学科,学科又分为若个班级
 * 整个学科一个大集合
 * 若干个班级分为每一个小集合
 */
public static void main(String[] args) {
    ArrayList<ArrayList<Person>> list = new ArrayList<>();

    ArrayList<Person> first = new ArrayList<>();                //创建第一个班级
    first.add(new Person("杨幂", 30));
    first.add(new Person("李冰冰", 33));
    first.add(new Person("范冰冰", 20));

    ArrayList<Person> second = new ArrayList<>();
    second.add(new Person("黄晓明", 31));
    second.add(new Person("赵薇", 33));
    second.add(new Person("陈坤", 32));

    //将班级添加到学科集合中
    list.add(first);
    list.add(second);

    //遍历学科集合
    for(ArrayList<Person> a : list) {
        for(Person p : a) {
            System.out.println(p);
        }
    }
}

}

public class Stack {
private LinkedList list = new LinkedList();

/*
 * 模拟进栈方法
 */
public void in(Object obj) {
    list.addLast(obj);
}

/*
 * 模拟出栈
 */
public Object out() {
    return list.removeLast();
}

/*
 * 模拟栈结构是否为空
 */

public boolean isEmpty() {
    return list.isEmpty();
}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
该资源内项目源码是个人的课程设计、毕业设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 该资源内项目源码是个人的课程设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值