Java基础 list map 集合

package jihe;

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

/**
 * 测试集合的方法
 */
public class Aggregate
{	//声明一个 list类型的变量
	public static List list;
	public static void main(String[] args)
	{	//创建一个list的对象
		list=new ArrayList();
		//使用add方法加入一个对象 可以是String
		list.add("123");
		list.add("345");
		//remove删除指定下标位置的内容  后面的内容会向前移动
		list.remove(0);
		//得到指定下标位置的内容
		System.out.println(list.get(0));
		//clear清除所有内容
		list.clear();
		//size显示内容长度
		System.out.println(list.size());
		//循环加入元素
		for (int i = 0; i < 20; i++)
		{
			list.add("呵呵"+i);
		}
		System.out.println(list.size());
		//lastIndexOf获取某个元素最后一次出现的位置
		System.out.println("最后一次"+list.lastIndexOf("呵呵12"));;
		//indexOf获取某个元素第一次出现的位置
		System.out.println("第一次"+list.indexOf("呵呵18"));;
		//isEmpty判断集合内容是不是为空
		System.out.println(list.isEmpty());
		//subList截取某一段内容 生成一个新的集合
		List list1=list.subList(0, 10);
		System.out.println(list1.size());
		//增强for循环遍历
		for(Object o:list1)
		{
			System.out.println(o.toString());
		}
		
	}
}

package jihe;
/**
 * 测试linklist
 *
 */
import java.util.List;
import java.util.LinkedList;
public class LinkList
{
	static LinkedList linkList;
	public static void main(String[] args)
	{	//创建一个Linkelist 链表集合
		linkList=new LinkedList();
		//向头部添加
		linkList.addFirst("这是头");
		//向尾部添加
		linkList.addLast("这是尾");
		System.out.println(linkList.get(1));
		//删除头部
		linkList.removeFirst();
		System.out.println(linkList.get(0));
		//删除尾部
		linkList.removeLast();
		
	}
}

package jihe;

import java.text.Collator;
import java.util.Collection;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;


/**
 * 测试hashMap
*
 */
public class MapTest
{
	public static Map map;
	public static void main(String[] args)
	{
		//创建对象
		map=new HashMap();
		//用put加入数据
		map.put(1, "123");
		map.put("123", 111);
		map.put(2, 2);
		map.put(3, 4);
		map.put(5, 6);
		//查看内容多大
		System.out.println(map.size());
		//删除某个内容
		map.remove(1);
		//获取指定内容
		System.out.println(map.get("123").toString());
		//containsKey 判断有没有要查的键
		System.out.println(map.containsKey("123"));
		//containsValue判断有没有指定的值
		System.out.println(map.containsValue("123"));
		//keySet把键转换成set集合
		Set set=map.keySet();
		//用增强for循环遍历
		for(Object object:set)
		{
			System.out.print(object.toString()+" ");
		}
		//values把map里的值转换成set集合
		Collection collection=map.values();
		//用增强for循环遍历
		for(Object object:collection)
		{
			System.out.println(object.toString());
		}
		//将键和值与他们的关系转换成set集合
		Set set2=map.entrySet();
		//用增强for循环遍历
		for(Object object:set2)
		{
			System.out.println(object.toString());
		}
	}
}

package jihe;

import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
//测试set集合
public class SteTest
{	//声明set变量
	public static Set set;
	public static void main(String[] args)
	{	//创建一个set的子类
		set=new HashSet();
		//在里面添加内容 会确保唯一性
		set.add("123");
		//语法没问题 但无法放入
		set.add("123");
		set.add("456");
		
		//查看大小
		System.out.println(set.size());;
		//获取迭代器
		Iterator integer=set.iterator();
		//循环遍历   hasNext判断是否有下一行
		while (integer.hasNext())
		{	//next 获取下一行内容
			System.out.println(integer.next().toString());
			
		}
		
	}
}

package Student;

import java.util.List;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Set;

/**
 * 测试HashMap Arraylist
*/
public class Test
{
	public static void main(String[] args)
	{
		//创建一个ArrayList集合用范形 只能放Student
		ArrayList<Student> arrayList=new ArrayList<Student>();
		//创建学生类用于加入
		Student a=new Student("张三", "一班", 33.5);
		Student b=new Student("张s", "二班", 34);
		Student c=new Student("张d", "一班", 37.5);
		Student d=new Student("张f", "二班", 37);
		Student e=new Student("张g", "一班", 77);
		Student f=new Student("张h", "三班", 99.7);
		//创建HashMap集合 用来存放集合
		HashMap<String,List<Double>> hashMap=new HashMap<String,List<Double>>();
		//声明存放学生成绩的集合
		List<Double> douList;
		//循环获取学生信息 循环的次数是arrayList 的内容大小
		for (int i = 0; i < arrayList.size(); i++)
		{
			//获取学生的班级信息 作为键
			String key =arrayList.get(i).getBanJi();
			//用上面获取的键作为参数 获取hashMap对应的值
			List<Double> list=hashMap.get(key);
			//判断list里面有没有内容来判断是不是有值
			if(list==null)
			{	//创建上面声明过的集合用来成绩
				douList=new ArrayList<Double>();
				//取出arrayList i位置的对象在取出这个对象的成绩
				double d1=arrayList.get(i).getChenJi();
				//将这个学生的成绩存放在douList中
				douList.add(d1);
				//将这个学生的班级作为键 成绩的集合作为值存入hashMap
				hashMap.put(key,douList);
			}else{
				//取出这个键对应的值 返回的值为List类型
				List list2=hashMap.get(key);
				//取出这个arrayList中的i对象 在取出这个对象的成绩
				double d1=arrayList.get(i).getChenJi();
				//将新的这个班的学生的分数加入这个集合
				list2.add(d1);
				//将这个key做为键 在将新加入内容的集合作为值传入
				hashMap.put(key,list2);
			}
		
		}
		//将HashMap的键内容导出为set集合
		Set set=hashMap.keySet();
		
	}
}



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值