Java基础(下)

本文导读:
包含了集合:arraylist,hashmap等
数组、二进制、泛型、异常

1.集合

集合种类

LinkedList,ArrayList,HashMap,HashSet,Vector
import java.util.*;

ArrayList

 arraylist al = new arraylist();
 a1.add(0,Clerk);
 a1.remove(1);
 Clerk wo = (Clerk)a1.get(0);
 //可以同时加入一个对象,同时指向这个对象!!!

Hashmap:

  • put:put同一个key会覆盖
  • get:得到值
HashMap hm = new HashMap();
Clerk c1 = new Clerk("wang", 100);
Clerk c2 = new Clerk("zhao", 200);
Clerk c3 = new Clerk("wu", 300);
hm.put("131", c1);
hm.put("132", c2);
hm.put("133", c3);

if(hm.containsKey("132"))
{
    System.out.println("hashmap has 132!");
}
Iterator it = hm.keySet().iterator();
while(it.hasNext())
{
    String key = it.next().toString();
    Clerk ctClerk = (Clerk)hm.get(key);
    System.out.println("name:"+ctClerk.getName());
    System.out.println("money:"+ctClerk.getMoney());
}

各种集合区别

Hashtable 是同步的 不可以放入NULL
HashMap 是异步的 线程安全性没有 可以放入 NULL
Vector 同步 双倍扩容 大量数据有优势
ArrayList 异步 扩容50%

区别

用Map 去 接受HashMap 比较灵活
HashSet 无顺序,元素唯一。底层为HashMap

2.数组,多维数组

math.random();//随机产生0~1

int x = 1;
int []a = new int[x]; //不会出错,但是不行。

1.定义
int a[] = {1,2,3};
int a[] = new int[3];
int []a = new int[3];
2.a.length
3.对象数组

Dog dogs[] = new Dog[4];
dogs[0] = new Dog();//必须要分配

3.二进制

  • java全为有符号数
  • 计算机中均用补码显示
  • 0的反码,补码均为0
  • >>,<< 算数 补符号 >>> 逻辑 补0
  • ^ 异或
  • 80G中,1m=1024k,sell 1m=1000k

4.泛型/反射

  • 泛型好处:1.安全 2.提高重用率
Demo<Dog> d1 = new Demo<Dog>(new Dog("w", 10));
d1.print();
class Demo<T>
{
  private T i;
  public Demo(T p) {
      i = p;
  }
  public void print()
  {
      System.out.println(i.getClass().getName());//
      Method []methods = i.getClass().getDeclaredMethods();
      for(int k = 0; k < methods.length;k++)
      {
          System.out.println(methods[k].getName());
      }
  }
}

5.异常

  • java.lang.Exception
  • java.lang.RuntimeException
  • java.lang.ERROR
try{

}catch(Exception e){
  e.getMessage();
  e.printStackTrace();
}finally{//一定会被执行
//要进行相关收尾操作再终止进程,比如关闭文件保存,

}
  • 只有try,finally也是可以的!
  • 4种情况finnaly不会被执行:1.system.exit() 2.线程异常 3.finally 异常 4.CPU关闭
  • 类throws Exception,谁调用谁管
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

猎羽

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值