第五周

集合框架应用

List

package com.softeem.lesson20.collection;

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

public class ListDemo {

	public static void main(String[] args) {

		// 里氏替换原则(多态)
		List list = new ArrayList();
		list.add("hello");
		list.add(10);
		list.add(null);
		list.add(10);

		System.out.println(list);
//		System.out.println(list.get(list.size()));

		for (Object object : list) {
			System.out.println(object);
		}

		// 获取列表的迭代器对象
		Iterator it = list.iterator();
		// 判断迭代器是否有下一个元素
		while (it.hasNext()) {
			// 取出迭代器到下一个元素
			Object obj = it.next();
			System.out.println(obj);
		}
	}

}

ArrayList

package com.softeem.lesson20.collection;

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

public class ArrayListDemo2 {

	public static void main(String[] args) {

		List list = new ArrayList();
		list.add("张三");
		list.add("李四");
		list.add("王五");
		list.add("赵六");
		list.add("李七");
		list.add("刘八");
		list.add("林九");
		list.add("黄十");
		list.add("易百");

		// 获取当前集合的列表迭代器(可以反向迭代、添加、替换元素)
		ListIterator it = list.listIterator();

		// 循环判断是否有下一个可迭代元素
		while (it.hasNext()) {
			// 取出下一个元素
			System.out.println(it.next());
		}

		// 添加元素
		it.add("陈千");
		it.add("尚万");
		System.out.println("=========");

		// 循环判断是否有上一个可迭代元素
		while (it.hasPrevious()) {
			// 取出上一个元素
			System.out.println(it.previous());
		}
	}

}

LinkedList

package com.softeem.lesson20.collection;

import java.util.LinkedList;
import java.util.Vector;

/**
 * 
 * @author Sakura0728
 *
 */
public class LinkedListDemo {

	public static void main(String[] args) {

		LinkedList list = new LinkedList();
		list.add("李七");
		list.add("刘八");
		list.add("林九");
		list.add("黄十");
		list.add("易百");
		list.add(null);

		// 这里的数值不是索引,表示的是链表需要进行节点搜索的次数
		System.out.println(list.get(4));

		// 向集合的头部插入元素
		list.addFirst("张三");
		// 向集合的尾部插入元素
		list.addLast("尚万");

		for (Object obj : list) {
			System.out.println("-------->" + obj);
		}

		System.out.println(list.getFirst() + "获取头部元素");
		System.out.println(list.getLast() + "获取尾部元素");

		// 从头部弹出元素(将头部元素从集合中删除)
		System.out.println(list.pop());
		// 向集合中加入元素(等同于addFirst)
		list.push("李四");

		System.out.println(list.size());
		System.out.println(list);

	}
}

Set

package com.softeem.lesson21.collections;

import java.util.HashSet;
import java.util.Iterator;
import java.util.LinkedHashSet;
import java.util.Set;

public class MySetDemo {

	public static void main(String[] args) {
		// Set类似于一个单链表
		// 每个元素都是一个节点
		// 每个节点包含:data和next
		// HashSet
		// 元素不重复且无序
//		Set<String> set = new HashSet<>();
//		set.add("a");
//		set.add("b");
//		set.add("c");
//		set.add("a");
//
//		for (String s : set) {
//			System.out.println(s);
//		}

		Set<String> set = new LinkedHashSet<String>();

		set.add("a");
		set.add("b");
		set.add("c");
		set.add("a");

		for (String s : set) {
			System.out.println(s);
		}

//		StudentDemo stu = new StudentDemo();
//		Set<StudentDemo> myset = new HashSet<StudentDemo>();
//
//		stu.setName("张三");
//		stu.setAge(18);
//
//		myset.add(stu);
//		myset.add(new StudentDemo("李四", 20));
//		myset.add(new StudentDemo("赵六", 19));
//		myset.add(new StudentDemo("王五", 22));
//		myset.add(new StudentDemo("李四", 20));
//		
//		for (StudentDemo stud : myset) {
//			System.out.println(stud);
//		}

		StudentDemo stu = new StudentDemo();
		Set<StudentDemo> myset = new LinkedHashSet<StudentDemo>();

		stu.setName("张三");
		stu.setAge(18);

		myset.add(stu);
		myset.add(new StudentDemo("李四", 20));
		myset.add(new StudentDemo("赵六", 19));
		myset.add(new StudentDemo("王五", 22));
		myset.add(new StudentDemo("李四", 20));

		for (StudentDemo stud : myset) {
			System.out.println(stud);
		}

	}
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值