Java容器

collection:

  • 容器 接口,可以定义一个这个接口的变量,但是不能实例化,只能实例化实现该接口的实现类 来赋给他,这是可以的
  • 旗下两个子接口 List 与Set ,这些个都是重写了obj的toStirng方法,打印这个对应的变量名,就是打印出来其所有的内容
  • collection的抽象方法 add(obj) 往容器里面添加元素,remove(obj)移除元素,contains(obj)包含某个元素,size()容器中所含元素的数量,isEmpty()是否为空
  • 可以定义成泛型的,也可以不定义成泛型的

List:

  • 除了继承了collection的一些方法外,又新增加了一些方法,add(idx,obj) 通过下标来添加,get(idx)通过下标来获得对应索引处的值,remove(idx)通过下标来移除对应位置的值,这也就是为什么 你会看到明明 同一个名字的 方法 调用的 时候,参数是不同的,原来感觉是很奇怪的,现在才知道,是方法的重载,set(idx,obj),indexOf(obj)返回对象在集合中出现的位置索引
  • 实现类 ArrayList 底层实现是数组,可以认为是变长数组,可以存放重复的元素
  • 实现类LinkedList底层实现是双重链表,但是因为是实现了List接口,也有get,add,add,set,indexOf()等方法,他除了实现了List接口的方法,自己还定义了一些个方法,头插,尾插,得头,得尾,去头,去尾,addFirst(),addLast(),getFirst,注意LinkedList中存放不了重复的元素

 

现在看的视频上的有些东西看起来很没有用,但是实际上,他是理解的基础,就是为是么这个方法定义成这样的名字,那个方法什么要定义成静态的。

String的valueOf()也是多个重载的静态的方法,是通过类名直接调用的,String.valueOf(),Integer.toString(),

Map:

  • map接口 键值对, 整数类的对象是Integer ,put(key,value) ,get(key),containsKey(),containsValue(),clear(),remove(key)移除的是整个键值对
  • public class TTT {
    
    	public static void main(String[] args) throws Exception{
    		// TODO 自动生成的方法存根
    		
    		 Map<Integer,String> mp=new TreeMap<>();
    		 
    		 
    		 mp.put(2, "2");
    		 mp.put(1, "1");
    		 mp.put(3, "3");
    		 mp.put(6, "6");
    		
    		 Set keySet=mp.keySet();
    		 Iterator it=keySet.iterator();
    		 
    		 while(it.hasNext()){
    			 
    			 Integer i=(Integer)it.next();
    			 
    			 System.out.println(i+" "+mp.get(i));
    		 }
    		 
    //		 for(Integer key:mp.keySet()){
    //			 
    //			 System.out.println(key+" "+mp.get(key));
    //		 }
    //		 
    	}
    	
    
    }

     

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值