数组 集合 拆箱 装箱知识

数组:1.数组是定长的;2.效组元元系的增删以一取借助值环,比较麻烦

int[] arr=new int[3];
arr[0]=1;
arr[1]=3;
arr[2]=5;
for (int i = 0; i < arr.length;i++) t
if(arr[i]==5)[
System.out.println("存在数据为5的元素");
 break;

ArrayList(Collection c)
          构造一个包含指定 集合 的元素的列表,这些元素是按照该 集合的迭代器返回它们的顺序排列的。


集合:是一个动态数组,随着元素的增加长度可以自由增长,集合封装了丰富的增删改查操作//集合是底层的一种动态数组,把数组的操作(循环)封装方法方便使用
 ArrayList list=new ArrayList<>();
 list.add("zs");
 list.add("ls");
 list.add("lucy");
 list.add("jack");
System.out.println(list);
list.add(2,"马云");
 System.out.println(list);
 System.out.println(list.get(3));

add(E e)
          将指定的元素添加到此列表的尾部。
remove(int index)
          移除此列表中指定位置上的元素。
size()
          返回此列表中的元素数。

//不重复点名

List 接口的大小可变数组的实现:实现了所有可选列表操作,并允许包括 null 在内的所有元素。除了实现 List 接口外,此类还提供一些方法来操作内部用来存储列表的数组的大小


        //使用ArrayList把数据转换成集合,这是一个固定数组的形式
        List list = Arrays.asList("陈", "小", "杨", "吃", "haha");
        //通过构造方法创建名单集合:把List集合中元素一一取出存入names集合中去
        ArrayList names=new ArrayList<>(list);
        //使用Scanner,Random,ArrayList完成一个不重复的随机点名程序
        Random random=new Random();
        Scanner scanner=new Scanner(System.in);

        while (true){
            if (names.size()==0){
                System.out.println("本次点名结束,请重新开始。");
                break;
            }
            System.out.println("点名请输入Y/y");
            String input=scanner.next();//获取输入的内容
            if (input.equals("Y")||input.equals("y")){
                int index=random.nextInt(names.size());//随机产生集合索引范围内的一个值
                String name=names.get(index);//根据索引获取对应位置元素,就是获取数组长度
                System.out.println(name+"--------命中注定");
                names.remove(index);
            }else {
                System.out.println("点名结束,欢迎下次使用本程序。");
                break;
            }
        }
    }
}

Java提供了两个类型系统,基本类型与引用类型,使用基本类型在于效率,然而很多情况,会创建对象使用,因为对象可以做更多的功能,如果想要我们的基本类型像对象一样操作,就可以使用基本类型对应的包装类,如下:
基本类型已 对应的包装类
bytec  Byte-
shorte  Shorte
int   Integer
long  Longe
float   Float
double  Double
chare  Character
booleane   Boolean
装箱与拆箱
基本类型与对应的包装类对象之间,来回转换的过程称为“装箱“与”拆箱”:

Integer(int value)
          构造一个新分配的 Integer 对象,它表示指定的 int 值。
Integer(String s)
          构造一个新分配的 Integer 对象,它表示 String 参数所指示的 int 值。
intValue()
          以 int 类型返回该 Integer 的值。

public static void main(String[] args) [

//1.基本数据类型和包装类型

int a1=5;

Integer a2=5;

System.out.println(a1);

System.out.println(a2);

System.out.println(" -");

//2.装箱:把基本数据类型转换成包装类 拆箱:把包装类型转换成基本数据类型

/装箱

Integer a3=new Integer(a1);

Integer a4=Integer.value0f(a1);

//拆箱

int a5=a3.intValue();


自动装箱与自动拆箱
1/自动装箱
Integer a6=a1;

自动拆箱

int a7=a3;

4.基本类型与字符串之间的转换

//基本数据类型可以自动转换为字符串 123 “123” 3.21566 “3.21566”
System.out.println("1"+"2");
System.out.println(1+2+"3");
System.out.println(". ");

/字符串需要手动进行数据类型转换  “123”--123 “abc”---- 异常
int n=Integer.parseInt( s:"123");

Integer(int value)
          构造一个新分配的 Integer 对象,它表示指定的 int 值。
Integer(String s)
          构造一个新分配的 Integer 对象,它表示 String 参数所指示的 int 值。

parseInt(String s)
          将字符串参数作为有符号的十进制整数进行解析。

double d=Double.parseDouble(s:"3.14");

Double(double value)
          构造一个新分配的 Double 对象,它表示基本的 double 参数。
Double(String s)
          构造一个新分配的 Double 对象,表示用字符串表示的 double 类型的浮点值。
parseDouble(String s)
          返回一个新的 double 值,该值被初始化为用指定 String 表示的值,这与 Double 类的 valueOf 方法一样。

System.out.println(n);
System.out.println(d);


 

你可能感兴趣的:(算法,数据结构,排序算法)