集合3_List and Set 基本方法

List and Set

List

特点:
1、有序,添加顺序和取出顺序一致(先进先出,队列特性)
2、元素可重复
3、支持索引(索引从0开始)

ArrayList

ArrayList可以理解 为顺序表,查询快增删慢
下面演示ArrayList中一些常用方法

static void ArrayListTest() {
		List<String> col = new ArrayList<String>();
		//实验list带索引的特殊方法
		col.add("can");
		col.add("lose weight");
		col.add("lose weight");
		//不加索引,则默认插入到末尾
		col.add(0,"I");
		//加上索引,则将元素插入到指定位置
		Iterator<String> it = col.iterator();
		while(it.hasNext()) {
			System.out.println(it.next());
		}
		String s = col.get(2);
		//获取指定索引位置的元素
		System.out.println(s);
		int a = col.indexOf("lose weight");
		//返回指定元素第一次出现的索引 , 如果没有则返回-1
		int b = col.lastIndexOf("lose weight");
		//返回指定元素最后一次出现 的索引 ,如果没有则返回-1
		int c = col.lastIndexOf("handsome");
		//测试没有的情况
		System.out.println(a);
		System.out.println(b);
		System.out.println(c);
		
		ListIterator<String> itlist = col.listIterator(1);
		//ListIterator意为,从指定索引位置开始迭代
		while(itlist.hasNext()) {
			String s1 = itlist.next();
			System.out.println(s1);
		}
		col.set(3, ",yes?");
		//set指把指定索引位置的元素替换
		System.out.println();
		for(String i : col) {
			System.out.print(i+ " ");
		}
	}
	输出如下:
	I
	can
	lose weight
	lose weight
	lose weight
	a = 2
	b = 3
	c = -1
	can
	lose weight
	lose weight

	I can lose weight ,yes? 

Set和List一样,也是Collection接口的子接口,因此常用方法和Collection接口一样。其特点如下 :
1、是无序的,即存储和取出的顺序不同,但取出的顺序是固定的(也就是说,第一次运行和第二次运行取出的顺序一致,而不会出现第一次取出 是一个顺序,第二次取出又是一个顺序)
2、元素不可重复(使用equals方法进行判断)

Set接口的遍历也是使用迭代器或者增强for来进行

由于基本方法与Collection类似,此处不做演示,只展示无序性

static void setDemo1() {
		/*
		 * 对无序性进行测试
		 */
		Set<String> st = new HashSet<String>();
		st.add("I");
		st.add("can");
		st.add("lose weight");
		st.add(",yes?");
		Iterator<String> it = st.iterator();
		while(it.hasNext())
			System.out.println(it.next());
	}
输出如下:
,yes?
can
lose weight
I
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值