java集合

引言

  • 1.存储多个对象的容器有:数据组、集合
  • 2.数组存对象的特点:Student[] stu=new Student[10];
    数组弊端:一旦创建长度不可变为 此引入集合

集合特点:保存的都是引用类型变量(对象)不能保存基本数据类型,例如你存一个1不是int类型而是Integer

集合分为两大体系:Collection、Map

         ###  Collection接口下有List Set子接口
              * List接口(常用)特点:有序的,可重复
             *  Lsit实现类: ArrayList(主要实现类):底层数组实现,查询速度快
  •                            LinkedList:底层链表实现,增删改速度快
               * Set接口特点:以map为底层实现,无序的,不可以重复
               * Set实现类:HashSet
        ### Map接口:
    

底层是Hash函数,具有映射关系的集合,无序(不是随机)

重点无序(不是随机)位置由哈希值决定

 @Test
	public  void test(){
	 Collection coll=new ArrayList();
	   //size获取集合长度 常用
     System.out.println("集合长度:"+ coll.size());
     //add(Object ):添加元素 常用(不指定泛型默认Object)
     coll.add(123);//这个123在这里是Integer类型
     coll.add("as");
     coll.add(new Date());
     //addAll(Collection c):将集合c中元素添加到本集合中
     Collection c=Arrays.asList(1,6,9,78);
     coll.add(c);
     //isEmpty():判断当前集合是否为空  为空为true 不空为false 常用
     System.out.println(coll.isEmpty());
     //clear():清空集合中的元素
     System.out.println(coll.size());
   //contains(Object o) 判断当前集合中是否包含元素o
 	System.out.println(coll.contains(123));
 	//remove(Object o):删除元素o 成功返回true 失败返回false 常用
 	coll.remove(123);
 	//toArray():把集合转成数组 常用
 	Object[] o=coll.toArray();
 	for (Object object : o) {
		System.out.println(object);
	}
     
   }
    
    //遍历集合
    @Test
    public void test1(){
   Collection coll=new ArrayList();
   coll.add(123);//这个123在这里是Integer类型
   coll.add("as");
   coll.add(new Date());
   
   //第一种方式
   for(Object ob:coll){
	   System.out.println(ob);
   }
   System.out.println("====================");
   //第二种方式:
   //iterator():迭代器:返回的是一个Iterator接口
   Iterator i=coll.iterator();
   while(i.hasNext()){//hasNext()判断当前集合众是否下一个元素,如果有返回true 与next()成对出现
	   System.out.println(i.next());//获取完当前元素后会自动指向当前元素下一个元素
	   
   }
    }

ArrayList主要方法以及遍历方式

/**
	 * List常用方法
	 * 增  删 修改 查询  size()
	 * void add(int index, Object ele):添加元素	 
	 * Object remove(int index):根据索引值删除指定元素
	 * Object set(int index, Object ele):设置指定元素的索引值为ele
	 * Object get(int index):根据索引值查询元素值
	 * int set():获取集合长度
	 */
	List  list=new ArrayList();//下标从0开始
	//添加元素 
	list.add("aaa");
	list.add("bbb");
	list.add("ccc");
	list.add("ddd");
	System.out.println(list);
	//查询
	System.out.println(list.get(1));
	//删除
	list.remove(1);
	System.out.println(list);
	//修改
	list.set(0, 345);
	System.out.println(list);
	 //for循环
	for(int i=0;i<list.size();i++){
		System.out.println(list.get(i));
	}
	 //foreach
	for(Object obj:list){
		System.out.println(obj);
	}
	 //迭代器iterator
	Iterator i=list.iterator();
	 while(i.hasNext()){
		 System.out.println(i.next());

还有一些比较常用的

Arraylist 是List的主要是实现类
比较常用的方法:
void add(int index, Object ele):添加元素
boolean addAll(int index, Collection eles):根据指定索引值把元素添加到该位置
Object get(int index):根据索引值查询元素值
int indexOf(Object obj):返回集合元素中obj元素第一次出现的索引值 没有返回-1
int lastIndexOf(Object obj):返回集合元素中obj元素最后一次出现的索引值 没有返回-1
Object remove(int index):根据索引值删除指定元素
Object set(int index, Object ele):设置指定元素的索引值为ele

HashSet主要方法及其遍历方式

/**
	 * set:存储的元素是无序的,不可重复,主要的实现类HashSet()
	 * 1.无序:不是随机的指的是元素在底层存储的时候是无序
	 * 2.不可重复:在set添加相同元素时,后面的添加不进去,不是把前面的覆盖
	 * 当向set存元素的时候,首先调用该类的hashcode()方法,计算该对象的
	 * 哈希值,这个哈希值就代表这个对象的位置,如果该对象之前没有对象存储,那么就把该对象存储到该位置
	 * 如果此位置已经有了对象,调用equals方法,判断两个对象的是否相等,如果相等不等添加进来
	 *
	 */
	 Set set=new HashSet();
	 set.add(123);
	 set.add("aaa");
	 set.add("bbb");
	 set.add("123");
	 set.add(new Student("李四"));
	 set.add(new Student("李四"));
	 set.add(new Student("张三"));
	 System.out.println(set);
	 //foreach
	 for(Object obj:set){
		 System.out.println(obj);
	 }
	 
	 //迭代iterator
	 Iterator i=set.iterator();
	 while(i.hasNext()){
		 System.out.println(i.next());
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值