List

1. 

import java.util.*;
/*
集合的体系:
----------| Collection 单列集合 的根接口
--------------|  List  如果是实现了List接口的集合类,该集合类具备的特点:有序,可重复。
--------------|  Set   如果是实现了Set接口的集合类,该集合类具备的特点: 无序,不可重复。
有序: 集合的有序不是指自然顺序,而是指添加进去的顺序与元素出来的顺序是一致的。
List接口中特有方法:
	添加
		add(int index, E element) 
		addAll(int index, Collection<? extends E> c) 
	获取:
		get(int index) 
		indexOf(Object o) 
		lastIndexOf(Object o) 
		subList(int fromIndex, int toIndex) 
	修改:
		set(int index, E element) 
	迭代
		listIterator() 
*/

public class List1 {
	public static void main(String[] args) {
		List list1 = new ArrayList();
		List list2 = new ArrayList();
		list1.add(123);
		list1.add(123);
		list1.add(123);
		list1.add("hello");
		list1.add(1,"1这里");
		list2.add("我是2里面的元素");
		list2.add("我也是2里面的元素");
		System.out.println(list1);
		list1.addAll(2,list2);
		System.out.println(list1);
		System.out.println(list1.get(3));
		System.out.println(list1.indexOf("我也是2里面的元素"));
		System.out.println(list1.lastIndexOf(123));
		System.out.println(list1.subList(4,6));//4~5
		list1.set(3,"我不是2里面的元素");
		System.out.println(list1);
		
/*
迭代
ListIterator特有的方法:
	添加:
		hasPrevious()  判断是否存在上一个元素。
		previous()    当前指针先向上移动一个单位,然后再取出当前指针指向的元素。
		next();  先取出当前指针指向的元素,然后指针向下移动一个单位。
*/
		ListIterator it = list1.listIterator();
//		System.out.println("有上一个元素吗: "+ it.hasPrevious());
//		System.out.println("当前指向的元素"+it.next());
//		System.out.println("获取上一个元素"+it.previous());
		while(it.hasNext())
		{
			System.out.println("当前指向的元素: "+it.next());
		}
		while(it.hasPrevious())
		{
			System.out.println("有上一个元素吗: "+ it.previous());
		}
		System.out.println("最简单的遍历方法");
		for(int i=0;i<list1.size();i++)
		{
			System.out.print(list1.get(i)+",");
		}
		
		List list3 = new ArrayList();
		list3.add(1);
		list3.add(2);
		list3.add(3);
		ListIterator it3 = list3.listIterator();
		while(it3.hasNext())
		{
			System.out.print(it3.next()+",");
			it3.add("Aa");
		}
		System.out.println("\r"+list3);
		//list的add方法是把元素添加到list 的末尾
		//ListIterator的add方法是把元素添加到当前指针的位置,再把指针移向下一个位置
		//在迭代器遍历元素的过程中,不允许使用集合对象改变集合中的元素,如果需要添加或者删除只能使用迭代器的方法进行操作
	}
}

运行结果:

[123, 1这里, 123, 123, hello]
[123, 1这里, 我是2里面的元素, 我也是2里面的元素, 123, 123, hello]
我也是2里面的元素
3
5
[123, 123]
[123, 1这里, 我是2里面的元素, 我不是2里面的元素, 123, 123, hello]
当前指向的元素: 123
当前指向的元素: 1这里
当前指向的元素: 我是2里面的元素
当前指向的元素: 我不是2里面的元素
当前指向的元素: 123
当前指向的元素: 123
当前指向的元素: hello
有上一个元素吗: hello
有上一个元素吗: 123
有上一个元素吗: 123
有上一个元素吗: 我不是2里面的元素
有上一个元素吗: 我是2里面的元素
有上一个元素吗: 1这里
有上一个元素吗: 123
最简单的遍历方法
123,1这里,我是2里面的元素,我不是2里面的元素,123,123,hello,1,2,3,
[1, Aa, 2, Aa, 3, Aa]

 

2. 去除相同的元素 用迭代器

import java.util.*;

class Book
{
	int id;
	String name;
	public Book(int id, String name) {
		this.id = id;
		this.name = name;
	}
	public String toString()
	{
		return "\rid: "+id+" 名字:"+name;
	}
	public boolean equals(Object obj)
	{
		Book book = (Book)obj;
		return this.id==book.id;
	}
}
public class ListPractice {

	public static void main(String[] args) {
		ArrayList list = new ArrayList();
		list.add(new Book(1, "上册"));
		list.add(new Book(2, "中册"));
		list.add(new Book(3, "下册"));
		list.add(new Book(2, "待删除的"));
//		ListIterator it = list.listIterator();
//		while(it.hasNext())
//		{
//			System.out.println(it.next());
//		}
		ArrayList list2 = clearRepeat(list);
		System.out.println("list2: "+list2);
		
	}
	public static ArrayList clearRepeat(ArrayList list)
	{
		ArrayList list2 = new ArrayList();
		Iterator it = list.iterator();
		while(it.hasNext())
		{
			Book book = (Book)it.next();
			if(!list2.contains(book))
			{
				list2.add(book);
			}
		}
		return list2;
	}
}

运行结果:

list2: [
id: 1 名字:上册, 
id: 2 名字:中册, 
id: 3 名字:下册]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值