栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java程序猿必学第十四篇——集合

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java程序猿必学第十四篇——集合


 

//1.1 Collection接口
//Collection: 集合的根接口
//包含了两个子接口: 1. List   2.Set
//Collection的常用方法:
public class Test1 {
	public static void main(String[] args) {
		Collection co = new ArrayList();
		co.add(1);  //添加元素   Integer-自动装箱
		co.add(3);  //集合只能存对象?
		co.add(2.5);    //Double
		System.out.println(co.contains(1));  //true
		System.out.println(co.remove(1));    //删除单个对象
		
		System.out.println(co.size());  //求长度
		
		Collection co2 = new ArrayList();
		co2.add(5);  
		co2.add(7);
		System.out.println(co.addAll(co2));  //添加一个集合
		
		System.out.println(co);
		
		
		Object[] as = co.toArray();   //转数组
		System.out.println(Arrays.toString(as));
		
	}
}

//1.2. List接口
//List接口,是Collection的子接口
//包含了两个重要的实现类: ArrayList,linkedList其中还有一个不太常用实现类Vector
//List的特点:存储的元素有序(有序!=排序),可重复
public class Test1 {
	public static void main(String[] args) {
		List list = new ArrayList();
		list.add(1);
		list.add(3);
		list.add(2);
		list.add(3);
		list.add(2, 6);
		System.out.println(list); //1,3,6,2,3
		System.out.println(list.get(2));  //根据下标获取元素
		
		//循环遍历
		for(int i=0;i list = new ArrayList<>();
		list.add(new Person("凤姐"));
		list.add(new Person("芙蓉"));
		list.add(new Person("刘亦菲"));
		//list.add("高圆圆");  //从源头上规避了其他类型的值的存储
		
		//循环遍历,获取对象的属性
		Iterator it = list.iterator();
		while(it.hasNext()) {
			//ClassCastException: String cannot be cast to Person
			Person person = it.next(); //有了泛型约束,无需强转
			System.out.println(person.name);
		}
	}
}


//2.2 泛型定义
//概述: 参数化类型,把类型作为参数传递,约束了所存储值的类型

//常见的泛型分类:
//泛型类(常用)      泛型接口(常用)       泛型方法
//语法: 

//泛型类:  MyFan : 约束泛型类中所有使用泛型参数的方法所传的类型
class MyFan {
	public void add(T t) {
		System.out.println(t);
	}
}

//泛型接口:FanInter:约束泛型中接口传递类型,泛型接口实现类也需要定义泛型
interface FanInter{
	void test(T t);
}
//实现类实现泛型接口
class MyImpl implements FanInter{

	@Override
	public void test(T t) {
		
	}
	
	//泛型方法,泛型的约束只能用在该方法中(不常用)
	public  void show(E e) {
		System.out.println("泛型方法:"+e);
	}
	
}

public class Test2 {
	public static void main(String[] args) {
		MyFan fan = new MyFan();
		fan.add(6);
	}
}


//2.3 自定义泛型集合
//自定义泛型集合:  泛型接口与实现类组合使用
//泛型好处: 规范化所使用的类型    获取本身类型是无需强转,提高安全性
interface MyList{  //泛型接口
	public void add(E e);
}

class MyArrayList implements MyList{

	@Override
	public void add(E e) {
		System.out.println("集合存储:"+e);
	}
	
}

public class Test3 {
	public static void main(String[] args) {
		MyList list = new MyArrayList<>();
		list.add(666);
	}
}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/353753.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号