zoukankan      html  css  js  c++  java
  • 集合

    List接口的常用实现类

    ArrayList

       ArrayList被称为数组列表,数据采用数组的方式存储,使

       用连续内存存储。ArrayListJava语言中可变长度数组的  实现。

    LinkedList

      称为链表,该集合类型实现了“链表”的数据结构。值得一提的是,LinkedList不仅实现了List接口,还实现了Queue接口,可以说链表同时也可以作为一个队列对象使用。使用方式与ArrayList类似。  

    Vector

       VectorJDK1.0版本中的集合类,后来修改为实现了List接口。Vector的功能几乎都可以被ArrayList替代,主要区别是Vector是同步的,而ArrayList不是同步的。

    ArrayList的常用方法

    add(Object  o);->集合中添加数据

    remove(Object o)->删除集合中的数据

    add(int  index, Object element)->给集合中某个索引位置添加一个数据

    get(int index)->获取集合中某个位置的信息

    LinkedList

    LinkedList是以链表的方式存放的,每个节点上存放的是数据信息

    常用方法:

    add(E element)—向链表末尾添加一个新的节点,该节点中的数据是参数element指定的对象。

    add(int index, E element)—向链表的指定位置添加一个新的节点,该节点中的数据是参数element指定的对象。

    扩展的方法:

    addFirst(E element)—向链表的头添加新节点,该节点中的数据是参数element指定的对象。

    addLast(E element)—向链表的末尾添加新节点,该节点中的数据是参数element指定的对象。

    for循环遍历

       通过索引值获取所对应的数据信息

    增强for循环的遍历

       也是通过迭代器的方法获取信息

    迭代器遍历(Iterator

    很少使用通过集合返回迭代器。

    package 集合;

    import java.util.HashMap;

    import java.util.TreeMap;

    public class User {

    String name;

    public  User(String name) {

    this.name = name;

    }

    public String toString() {

    return "名字"+name;

    }

    public static void main(String [] args) {

    User user1 = new User("小花");

    User user2 = new User("小明");

    User user3 = new User("小花1");

    User user4 = new User("小花2");

    HashMap<String,User> map = new HashMap<String,User>();

    map.put("002", user1);

    map.put("001", user2);

    map.put("004", user3);

    map.put("003", user4);

    // put可以对map进行更新

    // System.out.println(map.put("001", user1));

    // System.out.println(map.put("002", user2));

    // System.out.println(map.put("003", user3));

    // System.out.println(map.put("004", user4));

    // map对整个put中的属性进行排序,可以与user对应起来

    System.out.println(map);

    TreeMap<String,User> tree = new TreeMap<String,User>();

    tree.put("004",user1);

    tree.put("002",user2);

    tree.put("001",user3);

    tree.put("003",user4);

    // tree对整个put中的属性进行排序,可以与user对应起来

    System.out.println(tree);

    }

    }

    package 集合;

    import java.util.LinkedList;

    import com.sun.xml.internal.bind.v2.schemagen.xmlschema.List;

    public class 集合 {

    public static void main(String [] args) {

    //创建用户对象

    User user =new User("0张三");

    User user1=new User("1李四");

    User user2=new User("2李四");

    User user3=new User("3");

    User user4=new User("4");

    //创建集合对象,存放用户对象

    LinkedList<User> userList=new LinkedList<User>();

    userList.add(user);

    userList.add(user1);

    userList.add(user2);

    userList.add(user3);

    userList.add(user4);

    for(User userInfo:userList){

    System.out.println(userInfo);

    }

    }

    }

    package 集合;

    import java.util.ArrayList;

    import com.sun.xml.internal.bind.v2.schemagen.xmlschema.List;

    public class list {

    public static void main(String[] args) {

    //创建用户对象

    User user=new User("0张三");

    User user1=new User("1李四");

    User user2=new User("2");

    User user3=new User("3");

    User user4=new User("4");

    //创建集合对象,存放用户对象

    ArrayList<User> userList=new ArrayList<User>();  

    //增加数据

    userList.add(user);

    userList.add(user1);

    userList.add(user2);

    userList.add(user3);

    userList.add(user4);

    //删除数据

    userList.remove(user3);

    //遍历

    for(int i=0;i<userList.size();i++){

     System.out.println(userList.get(i));

    }

    }

    }

  • 相关阅读:
    移动端兼容
    三点优化
    面向对象(一)
    BootCDN和npm
    分页逻辑
    多物体运动框架
    兼容样式
    省略
    行内元素在水平和垂直排列的时候会有间距
    [Swift]LeetCode1053.交换一次的先前排列 | Previous Permutation With One Swap
  • 原文地址:https://www.cnblogs.com/r123/p/7649967.html
Copyright © 2011-2022 走看看