list集合经常使用方法

package package1;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class Demo3 {
	public static void main(String[] args) {
		List<String> all=new ArrayList<String>();
		//hashset无序但不容许重复,treeset不容许重复
		all.add("a");
		all.add("b");
		all.add("c");
		all.add(2,"d");//把d插入下标为2的位置
		all.set(0, "hello");//把下标元素为0的值替换为hello
		//System.out.println(all);
		System.out.println("使用迭代法");
		Iterator<String> it=all.iterator();
		while(it.hasNext()) {
		String name=it.next();
		System.out.println(name);
		}
		System.out.println("使用加强for循环");
		for(String name:all) {
			System.out.println(name);
		}
		System.out.println("**************");
		//判断是否有lisi这个值,有则返回所对应的索引,没有则返回-1;
		System.out.println(all.lastIndexOf("lisi"));
		System.out.println(all.remove("hello"));//移除hello
		System.out.println(all.remove(0));//移除下标为0的值	
		System.out.println("=======");
		System.out.println(all.size());//集合返回个数
		System.out.println(all.contains("hello"));//是否包含hello
		System.out.println(all.get(0));//获取下标为0的值
		System.out.println(all.isEmpty());//清除前
		all.clear();//清除
		System.out.println(all.isEmpty());//清除后
	}
}
实例:
package package1;

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

public class Demo4 {
public static void main(String[] args) {
	List<Student> list=new ArrayList<>();
	Student student1=new Student("zhangsan", 20);
	Student student2=new Student("zl", 20);
	Student student3=new Student("wangwu", 20);
	Student student4=new Student("lisi", 20);
	list.add(student1);
	list.add(student2);
	list.add(student3);
	list.add(student4);
	for(Student stu:list) {
		System.out.println("姓名:"+stu.getName()+"年龄:"+stu.getAge());
	}
}
}
class Student{
	String name;
	int age;
	public Student(String name,int age) {
		this.name=name;
		this.age=age;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
}

遍历List集合的三种方法
List<String> list = new ArrayList<String>();
list.add("aaa");
list.add("bbb");
list.add("ccc");
方法一:
超级for循环遍历
for(String attribute : list) {
  System.out.println(attribute);
}
方法二:
对于ArrayList来讲速度比较快, 用for循环, 以size为条件遍历:
for(int i = 0 ; i < list.size() ; i++) {
  system.out.println(list.get(i));
}
方法三:
集合类的通用遍历方式, 从很早的版本就有, 用迭代器迭代
Iterator it = list.iterator();
while(it.hasNext()) {
  System.ou.println(it.next);
}
练习:
package package1;

import java.util.ArrayList;

public class Demo9 {
	public static void main(String [] args) {
        String[] array ={"小王,男,1980-03-08","小zhang,男,1980-03-08","小ma,男,1980-03-08"};
        ArrayList<String> list = new ArrayList<String>();
        System.out.println("原集合");
        for(int i=0;i<array.length;i++) {
        	System.out.println(array[i]+",");
        }
        //循环把数组中的值添加到集合中
        for(int i=0;i<3;i++) {
        	list.add(array[i]);
        }
        System.out.println();
        System.out.println("添加到集合后");
       System.out.println(list);
       //输出集合
       for(String string:list) {
    	   System.out.println(string);
       }
       System.out.println("-------------------");
       //返回列表中指定位置的元素
       System.out.println(list.get(2));
       //返回指定元素第一次出现的索引,若是存在则返回索引下标,不然返回-1
       System.out.println(list.indexOf("小王,男,1980-03-08"));
       //返回列表中最后一次出现的索引
       System.out.println(list.lastIndexOf("小ma,男,1980-03-08"));
       //删除
       //System.out.println(list.remove("小ma,男,1980-03-08");
       //返回列表中的元素数目
       System.out.println(list.size());
       System.out.println("-------------------");
       System.out.println("删除下标为2的值");
       list.remove(1);
       //删除全部
       //list.removeAll(list);
      System.out.println(list);
       System.out.println("删除后");
       System.out.println(list);
       //判断list中是否包含该元素,返回true或false
       System.out.println(list.contains("小ss,男,1980-03-08"));
    }
}
相关文章
相关标签/搜索