list

来源:互联网 发布:如何用手机注册淘宝店 编辑:程序博客网 时间:2024/05/29 17:15
import java.util.ArrayList;import java.util.Iterator;import java.util.List;import java.util.ListIterator;/* 2017-02-17 20:10:43 *list 集合 代表一个元素有序、可重复的集合, *集合中每个元素都有其对应的顺序索引 *list 允许使用重复元素,可以通过索引开访问指定位置的集合元素 *list集合默认按元素的添加顺序设置元素的索引 * * *list 作为collection借口里的全部方法 *list 有序集合,list 中增加一些根据索引来操作集合元素的方法 * * * *list 的两种实现 都是基于数组实现的,数组可以动态的、再分配的object[]数组   *initilaCapaity 参数来设置该数组的长度  默认是10 *--Arraylist  线程不安全的 *arrays  的内部类时arraylist *Arrays.arraylist  是一个固定长度的list截个  只能遍历访问,不可增加、删除该集合的元素 * * *--Vertor  线程安全 *-Stack 子类   *用于模拟栈  数据结构    后进先出 *peek 返回 栈的第一个元素    但并不将该元素pop 出栈 *pop 返回第一个元素 并弹出栈 *push   将一个元素 push进栈   最后一个元素总是位于栈顶 * * */public class Listj {public static void main(String[] args) {//listj1();}/* 2017-02-17 20:51:33 * list 接口的功能  */private static void listj1() {List list = new ArrayList();list.add(new String("list"));list.add("list");list.add(1,"1"); //在指定位置添加 元素System.out.println(list);for (int i = 0; i < list.size(); i++) {System.out.println(list.get(i));}System.out.println();list.forEach(c -> System.out.println(c));//list.sort(c);    comparator 对象来控制元素排序  可以是用lambda 表达式作为参数//list.replaceAll(operator);  需要一个unaryOperator 来替换所有集合元素     unaryOperator 也是一个函数式接口System.out.println();List list2 = new ArrayList();list2.add(new String("asdf"));//list2.add(new Integer(123));    java.lang.ClassCastException  虽然强转但是也不可以list2.add(new String("asdfad"));list2.add(new String("s"));list2.sort((o1,o2) -> ((String)o1).length() - ((String)o2).length());// 指定lambda表达式System.out.println(list2);//list2.replaceAll(operator);      //需要一个lambda操作表达式    list2.replaceAll(ele ->((String)ele).length());System.out.println(list2);  //返回一个  每个字符串长度的   object   //list.iterator()//list.listIterator()  返回一个listiterator 对象  且继承了iterator  接口  //listiterator 增加的方法//list2.listIterator().hasPrevious()  返回迭代器关联的集合是否还有上一个元素//list.listIterator().previous()   返回该迭代器的上一个元素//list.listIterator().add(e);  在指定位置插入一个元素//相比之下 增加向前迭代的功能  还增加添加元素的方法String[] books = {"设计模式","虚拟机",};List booklist  =  new ArrayList();for (int i = 0; i < books.length; i++) {booklist.add(books[i]);}ListIterator li = booklist.listIterator();while (li.hasNext()) {System.out.println(li.next());}while (li.hasPrevious()) {  // 倒序输出System.out.println(li.previous());}}}

0 0