集合类

collection单列集合

import java.util.*;
public class Su {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		//==============Collection单列集合==========
		//有两种继承类接口  List 和 Set
		//=============List接口==============
		//--------ArrayList集合--------
		//ArrayList是List接口的一个实现类(List是无法实现的),其内部封装了一个长度可变的数组对象。
		System.out.println("-----------ArrayList集合------------");
		ArrayList list=new ArrayList();
		list.add("stu1");
		list.add("stu2");
		list.add("stu3");
		list.add("stu4");//插入操作
		System.out.println("集合的长度是:"+list.size());
		System.out.println("第二个元素是:"+list.get(1));//查找元素
		list.remove(3);//删除操作
		System.out.println("删除后集合的长度是:"+list.size());
		list.set(1,"stu_change");//更改操作
		System.out.println("更改之后的集合是:");
		for(int i=0;i<list.size();i++)
		{
			System.out.print(list.get(i)+" ");
		}
		list.add("stu4");
		list.add("stu3");
		System.out.println("stu3在集合中第一次出现的位置是:"+list.indexOf("stu3"));
		System.out.println("stu3在集合中最后一次出现的位置是:"+list.lastIndexOf("stu3"));
		System.out.println("集合中0-2(不包括2)的元素:"+list.subList(0,2));
		//ArrayList集合的底层是使用一个数组来保存元素,在增加或者删除指定位置元素时,会导致创建新的数组,效率低,不适合做大量的删增操作
		//用其查找元素非常方便
		//---------LinkedList集合-----------
		System.out.println("----------------LinkedList集合----------");
		LinkedList link=new LinkedList();
		link.add("p1");
		link.add("p2");
		link.add("p3");
		link.add("p4");
		System.out.println(link.toString());//取出并打印该集合中的所有元素
		link.add(3,"Student");
		link.addFirst("First_P");//插入表头
		link.addLast("Last_P");//插入表尾
		System.out.println(link);
		System.out.println(link.getFirst());//获取列表第一个元素
		System.out.println(link.getLast());//获取列表最后一个元素
		link.removeFirst();
		link.removeLast();
		System.out.println(link);//输出整个表
		//------------Iterator接口-------  (正向迭代)
		//用于遍历集合中的所有元素;该迭代器提供了hasNext()和next()方法
		System.out.println("-------------Iterator接口(正向迭代)---------");
		Iterator it=list.iterator();
		while(it.hasNext()) {
			Object obj=it.next();//调用该方法将元素取出
			System.out.println(obj);
			//System.out.println(it.next());
			//元素都可以当做Object类
		}
		//foreach循环  遍历ArrayList中的元素 
		//不可修改表中的元素
		System.out.println("------foreach循环---------");
		for(Object obj:list) {
			System.out.println(obj);
		}
		//------------ListIterator接口--------
		System.out.println("-------ListIterator接口(反向迭代)---------");
		ListIterator it1=link.listIterator(list.size());
		while(it1.hasPrevious()) {
			Object obj=it1.previous();
			System.out.print(obj+" ");
		}
		System.out.println();
		//-----------Vector集合----------------
		//是List接口的一个实现类 与ArrayList用法完全相同(vector是线程安全的而后者是现成不安全的)
		System.out.println("------Vector集合--------");
		Vector v=new Vector();
		v.add("Jack");
		v.add("Rose");
		v.add("Tome");
		Enumeration en=v.elements();//通过该对象遍历该集合中的元素
		while(en.hasMoreElements()) {
			Object obj=en.nextElement();
			System.out.println(obj);
		}
		//**********************************************************
		//=============set接口================
		//--------------HashSet集合------------------
		//该集合所存储的元素是不可以重复的,而且元素都是无序的。
		System.out.println("--------HashSet集合--------");
		HashSet set=new HashSet();
		set.add("S1");
		set.add("S2");
		set.add("S3");
		set.add("S4");
		Iterator it2=set.iterator();
		while(it.hasNext()) {
			Object obj=it2.next();
			System.out.println(obj);
		}
		//重写equals()和hashCode()------复杂类型的排序
		//----------TreeSet集合-------------
		//采用平衡的排序二叉树来存储元素  该集合中没有重复的元素,并且可以对元素进行排序(从小到大)
		System.out.println("---------TreeSet集合-------");
		TreeSet ts=new TreeSet();
		ts.add(5);
		ts.add(4);
		ts.add(7);
		ts.add(4);
		ts.add(1);
		ts.add(2);
		Iterator it3=ts.iterator();
		while(it3.hasNext()) {
			System.out.println(it3.next());
		}
		//复杂类型的排序------
		
	}

}

Map 类

import java.util.*;
public class Su {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		//==============Map接口==========
		//双列结合,每个元素包含一个key对象和value对象(两者存在映射关系)
		//--------------HashMap集合------------
		Map map=new HashMap();
		map.put("1","Jack");//存储键和值
		map.put("2","Rose");
		map.put("3","Lucy");
		System.out.println("1:"+map.get("1"));//根据键获取值
		System.out.println("2:"+map.get("2"));
		System.out.println("3:"+map.get("3"));
		map.put("3","Mary");//key相等 值覆盖
		//两种遍历方式
		System.out.println("-------第一种遍历方式(先遍历所有的key)--------");
		Set keySet=map.keySet();//获取键的集合
		Iterator it=keySet.iterator();//迭代键的集合
		while(it.hasNext()) {
			Object key=it.next();
			Object value=map.get(key);//获取每个键对应的值
			System.out.println(key+":"+value);
		}
		System.out.println("-------第二种遍历方式(先遍历所有的key)--------");
		Set entrySet=map.entrySet();
		Iterator it1=entrySet.iterator();
		while(it.hasNext()){
			Map.Entry entry=(Map.Entry)(it.next());//获取集合中键值对映射关系
			Object key=entry.getKey();//获取Entry中的键
			Object value=entry.getValue();
			System.out.println(key+":"+value);
		}
			
		}

}

collection工具类和Arrays 工具类

import java.util.*;
import java.awt.*;
import java.awt.event.*;
import java.util.Random;
public class SU {
	public static void main(String[] args){
		//============collection 工具类=========================
		//该类中提供了大量的方法用于对集合中的元素进行排序、查找、和修改等
		//------------排序操作----------------
		System.out.println("-------排序操作---------");
		ArrayList list=new ArrayList();
		
		Collections.addAll(list,"C","Z","B","K");
		System.out.println("排序前:"+list);
		Collections.reverse(list);
		System.out.println("反转后:"+list);
		Collections.sort(list);
		System.out.println("排序后:"+list);
		Collections.shuffle(list);
		System.out.println("随机排序后:"+list);
		Collections.swap(list, 2, 3);
		Collections.sort(list);
		System.out.println("第2和第3位置交换:"+list);
		//-----------查找替换操作----------------
		System.out.println("-------查找替换操作----------");
		ArrayList list1=new ArrayList();
		Collections.addAll(list1,-3,-2,9,5,8);//注意这里面不能是小数。刚手误把逗号输入成了点
		System.out.println("集合中元素:"+list1);
		System.out.println("最大元素:"+Collections.max(list1));
		System.out.println("最小元素:"+Collections.min(list1));
		System.out.println("查找第2号元素:"+Collections.binarySearch(list1,2));
		Collections.replaceAll(list1,8,88);
		System.out.println("替换后的集合:"+list);
		//*************************************************
		//----------------Araays工具类---------------------
		//utl包中专门提供了用于操作数组的工具类
		System.out.println("-------Array工具类---------");
		int[] arr={9,8,3,5,2};
		System.out.println("排序前:");
		printArray(arr);
		Arrays.sort(arr);
		System.out.println("排序后:");
		printArray(arr);
		int dex=Arrays.binarySearch(arr, 3);
		System.out.println("数组排序后元素3的索引(下标)是:"+dex);
		System.out.println("拷贝数组元素");
		int[] cop=Arrays.copyOfRange(arr,1, 7);
		//不包括7,即大于等于1小于7
		for(int i=0;i<cop.length;i++)
		{
			System.out.print(cop[i]+" ");
		}
		System.out.println("");
		System.out.println("用一个值替换数组中所有元素的值");
		int[] arr1={1,2,3,4};   
		Arrays.fill(arr1,8);
		for(int i=0;i<arr1.length;i++)
		{
			System.out.println(i+":"+arr1[i]);
		}
		System.out.println("把数组转化为字符串");
		int[] arr2={9,8,2,3,7};
		String arrString=Arrays.toString(arr2);
		System.out.println(arrString);
		//字符串可以直接输出并且有格式
	}
	public static void printArray(int[] arr){
		System.out.print("[");
		for(int i=0;i<arr.length;i++)
		{
			if(i!=arr.length-1){
				System.out.print(arr[i]+",");
			}
			else
				System.out.println(arr[i]+"]");
		}
	}
	
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值