ArrayList

集合:装元素 可以装不同的数据类型 个数没有限制
数组:装元素 只能装类型相同的元素 有个数限制

      JCF:java Collections FrameWork
      java集合框架


Collection       
 [单值类型的集合]

    Map

 [键值对类型的集合]



ArrayList0:
  包装类第一个作用:

  由于ArrayList底层基于Object[]实现的
  所以所有的引用数据类型都可以存放在集合里面
  但是基本数据类型不行
  为了保证基本数据类型可以存放在集合里面
  需要引入包装类的概念
  
  byte x = 34;
  //jdk5.0之前 基本数据类型 -》包装类
  Byte y = Byte.valueOf(x);//jdk5.0之前
  //jdk5.0开始
  Byte y = x;//自动打包


  Byte x = new Byte(45);
  //jdk5.0之前 包装类 -》 基本数据类型
  byte y = x.byteValue();//jdk5.0之前
  //jdk5.0开始
  byte y = x;//自动解包

  *:Integer类会自动的缓存:-128  127之间所有的数字

		//Integer类会自动缓存:-128  127之间所有的数字

		Integer x = -129;//Integer x = new Integer(-129);
		Integer y = -129;

		System.out.println(x == y);//false


		String str1 = "etoak";
		String str2 = "etoak";
		System.out.println(str1 == str2); // true

  包装类的第二个作用:*****
   提供一个方法(parseXXX)将String类型转换成对应的基本数据类型
   String str = "365.5";
   int x = Integer.parseInt(str);

		String str = "truee";
		boolean x = Boolean.parseBoolean(str);//false
		System.out.println(x);
true 转化为 true 其他都是false


   *:char类型没有此方法


  包装类:Integer:
   valueOf() -> static
   intValue() -> 非static
   parseInt() -> static

 ArrayList1:集合的基本用法及特点:
  1:如何创建对象:
     //jdk5.0之前 默认往集合里面添加的都是Object类型的对象
     ArrayList list = new ArrayList();
     //jdk5.0开始 可以加泛型
     //泛型:只能往集合里面添加哪些元素
     ArrayList<泛型> list = new ArrayList<泛型>();
     //jdk7.0开始 后面的泛型会自动推断
     ArrayList<泛型> list = new ArrayList<>();

  2:如何往集合里面添加元素:
     a:一次添加一个元素:
   list.add(元素);

     b:一次添加多个元素:
   Collections.addAll(集合,元素1,元素2....);

   面试题:
   Collection和Collections之间的区别?
   Collection是单值类型集合统一的父接口:interface
   Collections是集合的工具类:class
  
  3:如何得到集合里面的某一个元素
   list.get(下标)

  4:如何得到集合的大小
   list.size();

  5:如何判断集合里面是否出现指定元素
   list.contains(元素)

  6:如何遍历集合对象:
   a:for + 下标
   for(int x = 0;x < list.size();x++){
    //x -> 下标
    //list.get(x) -> 元素
   }

   b:foreach  forin  since jdk5.0
   for(泛型 x : list){
    //x -> 元素
   }

   c:迭代器
   for(得到迭代器对象;判断迭代器是否还有下一个元素;){
    取出下一个元素;
   }


   

   

import java.util.*;
public class Exec3{
	public static void main(String[] args){

		//创建一个集合对象装名字
		ArrayList<String> list = new ArrayList<>();

		//一次往集合里面添加一个元素的方式 分别添加:
			//Andy  Lee
		list.add("Andy");
		list.add("Lee");

		//一次往集合里面添加多个元素的方式 直接添加:
			//Anron  Jack
		Collections.addAll(list,"Anron","Jack");
		//System.out.println(list);
		//得到集合里面的第三个元素
		System.out.println(list.get(2));

		//集合里面是否出现Lee这个名字
		System.out.println(list.contains("Lee"));
		//使用两种方式遍历集合对象 打印以A开头的所有名字

		for(int x = 0;x < list.size();x++){
			String name = list.get(x);
			if(name.startsWith("A")){
				System.out.println(name);
			}
		}

		for( String x : list){
			if(x.startsWith("A")){
				System.out.println(x);
			}
		}

		//使用迭代器打印所有以A开头的名字
		//Iterator     Integer
		//		  Interator

		//hasNext()		hashCode()
		//		  hashNext()

		for(Iterator<String> car = list.iterator();car.hasNext();){
			String name = car.next();

			if(name.startsWith("A")){
				System.out.println(name);
			}
		}



	}
}

  /**
   包装类:
   由于ArrayList底层基于Object[]实现的
   导致所有的引用数据类型都有可以存放在集合里面
   但是基本数据类型不能放进集合
   为了保证基本数据类也可以放进集合里面 -》 包装类
   boolean  char   byte  short  int  long  float  double ->集合
   矿泉水   醋     香油   酱油   白酒 芬达  汽油   可乐
      瓶子     坛子    瓶子  瓶子   桶   听    桶     罐
      Boolean  Character Byte Short Integer Long Float Double
   基本数据类型 -》包装类 -》 集合
  */

  */
  //int x = 45;
  //将基本数据类型 -》 包装类
  //jdk5.0之前
  //Integer y = Integer.valueOf(x);//Object -> toString() ->
  //jdk5.0开始
  //Integer y = x;//自动打包

  Integer x = new Integer(77);
  //包装类 -》 基本数据类型
  //jdk5.0之前
  //int y = x.intValue();
  //jdk5.0开始
  int y = x;//自动解包



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值