List

List:有序(存入和取出的顺序一致),元素都有索引(角标),允许重复元素。

常用方法:

1、添加
     void add(index,element);
     void addAll(index,collection);
2、删除
    Object remove(index);
3、修改
     Object set(index,element);
4、获取:
     Object get(index);
     int indexOf(object);
     int lastIndexOf(object);
     List subList(from,to);

 

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

public class ListDemo {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        List list=new ArrayList();
        //添加
        list.add("a");
        list.add("b");
        System.out.println(list);

        //插入
        list.add(2, "c");
        System.out.println(list);

        //删除
        list.remove(1);
        System.out.println(list);

        //修改元素
        System.out.println(list.set(0, "d"));

        //获取元素
        System.out.println(list.get(1));

        //获取子列表
        System.out.println(list.subList(1, 2));

        System.out.println(list);

    }

}

遍历List

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

import org.junit.Test;

public class ListDemo1 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        List list=new ArrayList();

        list.add("a");
        list.add("b");
        list.add("c");
        System.out.println(list);

        Iterator it=list.iterator();
        while(it.hasNext()){
            System.out.println(it.next());
        }
    }
    @Test
    //在迭代器过程中,不要使用集合操作元素,容易出现异常:java.util.ConcurrentModificationException。
    //可以使用Iterator接口的子接口ListIterator来完成在迭代中对元素进行更多的操作。
    public void test() {

        List list = new ArrayList();

        list.add("a");
        list.add("b");
        list.add("c");
        System.out.println(list);

        Iterator it = list.iterator();
        while (it.hasNext()) {
            Object obj=it.next();
            if(obj.equals("a")){
                list.add("f");
            }
        }
        System.out.println(list);
    }
}

List:

       |--Vector:内部是数组数据结构,是同步的。增删,查询都很慢。线程安全

       |--ArrayList:内部是数组数据结构,是不同步的,替代了Vector。替代了Vector,查询的速度快。线程不安全

       |--LinkedList:内部是链表数据结构,是不同步的。增删元素的速度很快。线程不安全

LinkedList方法:

addFirst();

addLast();

jdk1.6版本后新方法:

offerFirst();与addFirst方法没有区别。

offerLast();与addLast方法没有区别。

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

getFirst();//获取但不移除,如果链表为空,抛出NoSuchElementException。

getLast();

jdk1.6版本后新方法:

peekFirst();//获取但不移除,如果链表为空,返回null。

peekLast();

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

removeFirst();//获取并移除,如果链表为空,抛出NoSuchElementException。

removeLast();

jdk1.6版本后新方法:

pollFirst();//获取并移除,如果链表为空,返回null;

pollLast();

时间: 2024-10-06 00:43:22

List的相关文章

javaBean与Map<String,Object>互转

1. 为什么要实现javaBean与Map<String,Object>相互转换? 用过spring的都知道spring的MVC框架中有一个BaseCommandController对象,利用这个对象我们就可以很方便的将从客户端传递过来的参数封装到一个JavaBean对象中去,而不需要我们request.getParameter("name");bean.setName(name);了,从而也简化了不少的工作.如果大家用过BeanUtils.populate的话,就知道,这

今天学会了对List&lt;Map&lt;String,Object&gt;&gt;的排序

Collections.sort(dyList, new Comparator<Map<String, Object>>() { public int compare(Map<String, Object> arg0, Map<String, Object> arg1) { int map1value=0; int map2value=0; if(arg0.get("getlicenseDate")!=null&&!arg

List&lt;map&lt;String,Object&gt;&gt;

List<Map<String, Object>> list = sendService.getApproveMsgToMap(); //第一种 //遍历map for (Map<String, Object> m : list) { for (String k : m.keySet()) { System.out.println(k + " : " + m.get(k)); } } //第二种 for (int i = 0; i < list

如何过滤List&lt;Map&lt;String,Object&gt;&gt; 中的重复Map

最近遇到一个问题,就是如何过滤一个List<Map<String,Object>> 中重复的Map,废话不多说,直接上代码. //去除重复的Map //cfArraylist 表示重复的 List<Map<String,Object>> //listMap 表示去重复数据后的 List<Map<String,Object>> Map<String, Map> msp = new HashMap<String, Map

分页查询和分页缓存查询,List&lt;Map&lt;String, Object&gt;&gt;遍历和Map遍历

分页查询 String sql = "返回所有符合条件记录的待分页SQL语句"; int start = (page - 1) * limit + 1; int end = page * limit; sql = "select * from (select fulltable.*, ROWNUM RN from (" + sql + ") fulltable where ROWNUM <= " + end + ") where

对List&lt;Map&lt;String,Object&gt;&gt; 进行排序

1 package lltse.base.collectiondemo; 2 3 import java.util.ArrayList; 4 import java.util.Collections; 5 import java.util.Comparator; 6 import java.util.HashMap; 7 import java.util.List; 8 import java.util.Map; 9 import java.util.Random; 10 11 12 publi

将Map&lt;String, List&lt;Map&lt;String,Object&gt;&gt;&gt;进行排序

首先我贴上我的代码,刚开始我也不知道怎么排序还写了一些方法,最后请教群里的大神解决了 public Map<String, List<Map<String,Object>>> getGrowList(String id){ List<Map<String, Object>> growList = mentDao.getGrowList(id); SortedMap<String, List<Map<String,Object&g

MyBatis 返回Map&lt;String,Object&gt;类型

<resultMap type="map" id="stringMap"> <result property="contentIntr" column="contentIntr" javaType="string" /> </resultMap> <!-- 导出所有数据 --> <select id="exportAll" resul

对List&lt;Map&lt;String, Object&gt;&gt;集合排序

private void mySort(List<Map<String, Object>> list) { //list为待排序的集合,按SEQ字段排序 Comparator<Map<String, String>> mapComprator = new Comparator<Map<String, String>>() { @Override public int compare(Map<String, String>

List&lt;Map&lt;String, Object&gt;&gt;相关

2016年8月6日13:53:00 --------------------------- List<Map<String, Object>> List集合新增列 则需要: List<Map<String, Object>> list_new = new ArrayList<Map<String, Object>>(); //新建list集合对象,用于存储新的数据 for (Map<String, Object> map