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中最早提供的集合。
取出方式:枚举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); } }}
转载于:https://www.cnblogs.com/boss-H/p/10958945.html