java学习(六)--list的使用

list也是我们平时开发时经常使用的一种集合。

下面的例子主要是list的一些常用方法,特别是遍历的各种方法。

package knowledge;

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

public class ListDemo {

	public static void main(String[] args) {

		// 例1:list的各种方法使用例子
		System.out.println("======例1=======");
		List list = new ArrayList();
		// 对list内容进行排序
		list.add("20190101,20190501");
		list.add("20190601,20190701");
		list.add("20190301,20190701");

		System.out.println("排序前:" + list);
		// リスト内容をソートする(昇順)
		list.sort(null);
		System.out.println("排序后:" + list);
		System.out.println("第二个元素后的值:" + list.get(1).toString());
		System.out.println("第二个元素后的值:" + list.get(1).toString().substring(0, 8));

		// 对list内的值进行遍历
		for (int i = 0; i + 1 < list.size(); i++) {
			System.out.println("list的长度:" + list.get(i).toString().length());

			String num1 = list.get(i).toString().substring(9, 17);
			String num2 = list.get(i + 1).toString().substring(0, 8);

			System.out.println("num1:" + num1);
			System.out.println("num2:" + num2);

			// 前一组的第二个值与当前组的第一个值进行比较
			if (num1.compareTo(num2) >= 0) {
				System.out.println("需要修正的一组数据是:" + num1 + "," + num2);

			}

		}
		// 对list内的值进行遍历
		List<String> list1 = new ArrayList<>();
		list1.add("北京");
		list1.add("上海");
		list1.add("天津");
		list1.add("广州");
		list1.add("重庆");

		// 用迭代器方法
		System.out.println("======1:用迭代器方法=======");
		Iterator it = list1.iterator();
		while (it.hasNext()) {
			System.out.println(it.next());
		}

		// 用list迭代器方法
		System.out.println("======2:用list迭代器方法=======");
		Iterator it2 = list1.listIterator();
		while (it2.hasNext()) {
			System.out.println(it2.next());
		}

		// 使用listIterator迭代器可以向前遍历,同时可以修改其中的元素
		System.out.println("======3:用list迭代器方法向前遍历=======");
		// 建立迭代器时,需要指定起始位置
		ListIterator<String> it3 = list1.listIterator(list1.size());
		while (it3.hasPrevious()) {
			System.out.println(it3.previous());
		}

		ListIterator<String> it4 = list1.listIterator(list1.size());
		// 将天津前的城市改为杭州
		while (it4.hasPrevious()) {
			if ("天津".equals(it4.previous())) {
				System.out.println(it4.previousIndex());
				int postion = it4.previousIndex();
				list1.set(postion, "杭州");
			}
		}
		System.out.println(list1);

		// 用foreach方法
		System.out.println("======4:用foreach方法=======");
		for (String str : list1) {
			System.out.println(str);
		}

		// 删除一个元素
		System.out.println("======删除一个元素=======");
		list1.remove(2);
		System.out.println("删除第三个元素后:" + list1);

		// 增加一个元素
		System.out.println("======增加一个元素=======");
		list1.add(3, "香港");
		;
		System.out.println("元素添加后:" + list1);

	}

}

下面是执行结果

======例1=======
排序前:[20190101,20190501, 20190601,20190701, 20190301,20190701]
排序后:[20190101,20190501, 20190301,20190701, 20190601,20190701]
第二个元素后的值:20190301,20190701
第二个元素后的值:20190301
list的长度:17
num1:20190501
num2:20190301
需要修正的一组数据是:20190501,20190301
list的长度:17
num1:20190701
num2:20190601
需要修正的一组数据是:20190701,20190601
======1:用迭代器方法=======
北京
上海
天津
广州
重庆
======2:用list迭代器方法=======
北京
上海
天津
广州
重庆
======3:用list迭代器方法向前遍历=======
重庆
广州
天津
上海
北京
1
[北京, 杭州, 天津, 广州, 重庆]
======4:用foreach方法=======
北京
杭州
天津
广州
重庆
======删除一个元素=======
删除第三个元素后:[北京, 杭州, 广州, 重庆]
======增加一个元素=======
元素添加后:[北京, 杭州, 广州, 香港, 重庆]

使用list时通常是以ArrayList形式出现的。ArrayList是将元素分配到数组中的,如果只是单纯的查找,则可以正常使用。但如果对Arraylist内的元素进行删除修改添加的话,ArrayList的效率就会非常慢,此时可以使用LinkedList。

LinkedList是以链接的形式存放元素的,所以需要对其中元素进行修改时,只需要对其中的链接做出更改就可以,能够极大的提高效率。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值