java类集

1基本概念

    1.1如果要保存一组对象,如果用数组的话长度有限制,而类集框架本身不受对象数组长度的限制,所谓的类集就是一个动态的对象数组。

      1.2特性:

          1)高性能,对基本类集(动态数组,链接表,树和散列表)的实现是高效率的

           2)框架必须允许不同类型的类集以相同的方式和高度互操作方式工作

           3)类集必须是容易扩展和修改的,以此诞生了一组标准接口


1类集框架的主要接口

            1)collection:存放一组单指的最大父接口

          2)list:collection的子接口,比较常用,list的内容是可以重复的

          3)set:collection的子接口,比较常用,set的内容是不可以重复的

          4)map:存放对值的最大父接口,以key->value的形式保存

          5)iterator:集合的输出接口,只能从前到后单向输出

          6)listiterator:iterator的子接口,可以双向输出

          7)Enumeration:最早的输出接口,用于输出指定集合中的内容

          8)SortedSet:单值的排序接口,可以使用比较器排序

          9)SortedMap:对值的排序接口,按key排序

         10)queue;队列接口,此接口的子类可以实现队列操作

         11)map.entry:每个map接口中都保存有map.entry接口实例

3接口详解

     1)list

       ① list是collection的子接口,可以有重复的元素

        public interface List extends Collection<E>

      

       ②list接口常用的子类ArrayList

        public class ArrayList<E> extends AbstractList<E>

        implements LIST<E>,RandomAccess,CLoneable,Serializable

        实例操作(1):验证增加数据的操作

<span style="font-size:18px;">package com.mjc.list;

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

public class ArrayListDemo1 {
	public static void main(String args[]){
	List<String> allList=null;
	Collection<String> allCollection =null;
	allList=new ArrayList();//实例化List对象
	allCollection = new ArrayList();//实例化Collection对象
	allCollection.add("and");
	allList.add("lw");//从Collecion继承的方法
	allList.add(0, "mjc");//List扩充的方法,,,,在集合的指定位置加元素
	allList.addAll(1, allCollection);
	System.out.println(allList);
	}
}
</span>
<span style="font-size:18px;">运行结果:[mjc, and, lw]</span>

               删除操作:与增加类似用.remove()

实例操作(2):输出List 的内容

package com.mjc.list;

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

public class ArrayListDemo2 {
	public static void main(String args[]){
	List<String> allList=new ArrayList();
	allList.add("lw");
	allList.add("and");
	allList.add("mjc");
	for(int i=0; i<allList.size();i++){//从前往后
		System.out.print(allList.get(i)+"、");
	}
	for(int i=allList.size()-1; i>=0;i--){//从后往前
		System.out.print(allList.get(i)+"、");
	}
	
	}
}

实例操作(3):将集合转成数组

package com.mjc.list;

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

public class ArrayList3 {
	public static void main(String args[]){
	List<String> allList=new ArrayList();
	allList.add("lw");
	allList.add("and");
	allList.add("mjc");
	String str[]=allList.toArray(new String[]{});
	System.out.println("指定数组类型");
	  for(int i=0;i<str.length;i++){
		 System.out.print(str[i]+"、");
	  }
	}

}
     ③LinkedList子类与Queue接口

        LinkedList是一个链表的操作类

       publi class LinkedList<E> extends AbstractSequentiaList<E>

       implements List<E>,Queue<E>,Cloneable,Serializable

       从定义上看此类同时实现了Queue接口   
        

  

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值