List接口、Set接口

list接口:

一个元素存取有序的集合,它是一个带有索引的集合,集合中可以有重复的元素。

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

public class Demo01 {
  public static void main(String[] args) {
    List<String> list=new ArrayList<String>();
    list.add("123");
    list.add("abc");
    //在指定位置插入指定元素
    list.add(1,"456");
    //删除指定位置上的元素
    String s=list.remove(1);
    System.out.println("删除的元素为"+s);
    //替换指定位置上的元素
    String a=list.set(0, "小猪佩奇");
    System.out.println("替换的元素为"+a);
    //遍历
    for(int i=0;i<list.size();i++){
      System.out.println(list.get(i));
    }
  }
}

  Iterator的并发修改异常

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

public class Demo02 {
  public static void main(String[] args) {
    List<String> arr=new ArrayList<String>();
    arr.add("a");
    arr.add("b");
    arr.add("c");
    //在遍历时判断该集合中是否有“b”元素,如果有则在该位置添加一个“d”
    //获取迭代器对象
    Iterator<String> it=arr.iterator();
    while(it.hasNext()){
      String s=it.next();
      if(s.equals("b")){
        arr.add("d");
      }
    }
  }
}

 List集合存储数据的结构

堆栈、数组、队列、链表

LinkedList集合

LinkedList集合数据存储的结构是链表结构

import java.util.LinkedList;
import java.util.List;

public class Demo03 {
  public static void main(String[] args) {
    LinkedList<String> arr=new LinkedList<String>();
    arr.addFirst("a");
    arr.addFirst("b");
    arr.addLast("c");
    arr.addLast("d");
    //获取集合中第一个元素
    System.out.println("集合中第一个元素为"+arr.getFirst());
    //获取集合中最后一个元素
    System.out.println("集合中最后一个元素为"+arr.getLast());
    //删除集合中第一个元素
    arr.removeFirst();
    arr.removeFirst();
    //删除集合中最后一个元素
    arr.removeLast();
    for(String s:arr){
    System.out.println(s);
  }
    if(!arr.isEmpty()){
      System.out.println("该集合不为空");
    }
  }
}

Vector集合

Vector集合数据存储的结构是数组结构,为JDK中最早提供的集合。

扫描二维码关注公众号,回复: 6323685 查看本文章

取出方式:枚举Enumeration。

Vector集合已被ArrayList替代,枚举Enumeration已被迭代器Iterator替代。

set接口

HashSet集合:此类实现Set接口,由哈希表支持(实际上是一个 HashMap集合)。HashSet集合不能保证的迭代顺序与元素存储顺序相同。

保证HashSet集合元素的唯一,其实就是根据对象的hashCode和equals方法来决定的。

import java.util.HashSet;

public class Demo01 {
  public static void main(String[] args) {
    HashSet<String> set=new HashSet<String>();
    set.add("a");
    set.add("a");
    set.add("b");
    //遍历
    for(String s:set){
      System.out.println(s);
    }
  }
}

public class Demo02 {
  public static void main(String[] args) {
    String a="abc";
    String b="abc";
    System.out.println(a.hashCode());
    System.out.println(b.hashCode());
  }
}

public class Demo04 {
  public static void main(String[] args) {
    LinkedHashSet<String> set=new LinkedHashSet<String>();
    set.add("abc");
    set.add("aaa");
    set.add("bcd");
    set.add("abc");
    for(String s:set){
      System.out.println(s);
    }
  }
}

猜你喜欢

转载自www.cnblogs.com/boss-H/p/10958945.html