zoukankan      html  css  js  c++  java
  • list集合练习一

    package com.java.c.domain;

    public class Person {
     private String name;
     private int age;

     public Person() {
      super();
     }

     public Person(String name, int age) {
      super();
      this.name = name;
      this.age = age;
     }

     public String getName() {
      return name;
     }

     public void setName(String name) {
      this.name = name;
     }

     public int getAge() {
      return age;
     }

     public void setAge(int age) {
      this.age = age;
     }

     @Override
     public String toString() {
      return "Person [name=" + name + ", age=" + age + "]";
     }

     @Override
     public int hashCode() {
      final int prime = 31;
      int result = 1;
      result = prime * result + age;
      result = prime * result + ((name == null) ? 0 : name.hashCode());
      return result;
     }

     @Override
     public boolean equals(Object obj) {
      if(this==obj){
       return true;
      }
      if(!(obj instanceof Person)){
       throw new ClassCastException();
      }else{
       Person p=(Person)obj;
      return this.name.equals(p.name)&&this.age==p.age;
      }
     }
    }

    ----------------------------------------------------------------------------------------------------

    package com.java.c.list.www;

    import java.util.ArrayList;
    import java.util.Iterator;
    import java.util.List;

    import com.java.c.domain.Person;

    public class ListTest {
     public static void main(String[] args) {
      //定义一个list集合
      List list=new ArrayList();
      //添加元素到集合中
      list.add(new Person("王武",25));
      list.add(new Person("张三",28));
      list.add(new Person("武打",27));//集合添加的元素都是对象,另外基本数据是不能添加的,但是因为自动装箱的缘故导致可以装箱
      
      //输出一下添加完的集合元素
      for (Iterator it = list.iterator(); it.hasNext();) {//因为元素都为Object类,没有集合特有的方法,所以我要需要向下转型
       Person p = (Person)it.next();
       System.out.println(p);
      }
      System.out.println("------------------------------------------------------------");
      //按角标插入一个元素并且输出
      list.add(1, new Person("桓公",99));
      for (int i = 0; i < list.size(); i++) {
       System.out.println("Person"+i+":"+list.get(i));
      }
      System.out.println("------------------------------------------------------------");
      //再三处指定角标下的元素
      list.remove(2);
      for (int i = 0; i < list.size(); i++) {
       System.out.println("Person"+i+":"+list.get(i));
      }
      //list集合还可以加入重复的元素,重复的元素是怎么判断的,主要靠得是被添加元素的对象地址
      list.add(new Person("王武",25) );//虽然名字 年龄一样但是是新被new出来的 跟原先那个的对象地址不同,所以不重复
      Person p=new Person("威廉",26);
      list.add(p);
      list.add(p);//上面两个新加入的是重复元素
      /*
       * list集合的特性:
       * 1.是有序的,所以有了角标,然后可以插入,删除某一特定的元素或元素段
       * 2.有重复的
       * */
     }
    }

  • 相关阅读:
    java的类继承(与c++对比)
    java的数据类型、自动拆装箱、字面量
    java中关键字static和final
    JVM之JIT
    java之JIT(Just in time)
    栈和堆
    C++中vector的使用
    canvas
    ajax笔记
    CSS笔记
  • 原文地址:https://www.cnblogs.com/daoxiang1992/p/5723996.html
Copyright © 2011-2022 走看看