A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 燃情岁月 初级黑马   /  2019-4-3 13:57  /  620 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文


                                                          4.继承,多态,接口

                                                     
abstract        抽象
extends        继承
implements  接口
                                   父类可以调用给子类                                  接口里    +   default void showB(){  可以输出  }
   
public void siyang(Animal c){                            public void use(USB u){
        System.out.println("饲养动物");                      u.openUSB();                        notebook n = new notebook();
        c.eat();                                                             u.closeUSB();                        mouse m = new mouse();            n.use(m);
        c.drink();

匿名内部类     两种                                                                       这种是要下面有方面调用的
           ↓                                      ↓                                                            ↓
接口 i = new 接口():               new 接口(){                                    方法(new 接口(){
重写方法                                 重写方法}.调用方法                           重写方法};         
调用方法

Math.abs(绝对值)                                 Math.pow(a.b) 幂            Arrays.sort()按顺序排序
Math.ceil(大于等于整数)
Math.floor(小于等于整数)
Math.round(四舍五入int)                     String[] strArray =S s.split() 使数组分离

Integer  装箱                                                          拆箱
String s =String.valueof(i)                  int y =Integer.parseInt(s)
Int转String                                                  String转Int

     加数字=从1970年加毫秒
                               ↓
Date d = new Date();         
String s =sdf.format(d);      
        System.out.println(s);    输出当天年月

                                                                                        定义格式
SimpleDateFormat  sdf = new SimpleDateFormat("yyyy-MM-dd")    这是一个类,才能用方法
Date转String                              String转Date  解析   年 - 月 - 日 - E(周几)
String s =sdf.format(“d")            Date d = sdf.parse(“s”)                                                
sout(s)

                     日历
Calendar c = Calendar.getInstance();                             c.add(Calendar.YEAR,10); 增加10年
        int year = c.get(Calendar.YEAR);                            c.set(year: mouth: date: ) 修改时间
        int month = c.get(Calendar.MONTH)+1;




                                            5. Collection集合



                                                            集合
         Collection c =new ArrayList();                          List list =new ArrayList();
c.remove(" ");  删除元素(变量要一模一样)            list.add(1," ")      添加指定位置元素
c.clear();           清除所有元素                                   list.remove(1, " ")删除指定位置元素,返回被删除元素
contains(Object o) 判断集合中是否存在指定的元素? list.set(1," ")        修改指定位置元素,返回被修改元素
boolean contains(Object o)  定义方法                      list.get()               直接返回元素
            

LinkedList<String> link = new LinkedList<>();

                     迭代器                        ←遍历→                                 list迭代器
Collection c =new ArrayList();                                    List list = new ArrayList();
Iterator it = c.iterator();                                            ListIterator sli = list.listIterator();
        while (it.hasNext()) {                                           while (sli.hasNext()){     正向输出       sli.hasPrevious()   反向输出
        String s = (String) it.next();                                 String s  = (String) sli.next();
        System.out.println(s);                                          System.out.println(s);}


c.hasNext();   从第一个开始判断是否存在元素  

增强For    快捷键iter
for(定义类型   变量 :集合){
sout 变量}
for(String    s  :  list){
sout  s}

Set     无重复                                                                     
s.hashCode() 获取哈希值


TreeSet<Student> ts = new TreeSet<Student>();           就可以正常输出

this.age -s.age;                      从小到大               this.age -s.age,
s1.getAge() - s2.getAge();                                  s.age - this.age        如果相等不输出                  

s.age - this.age
s2.getAge() - s1.getAge()     从大到小

public class Student implements Comparable<Student>             引用Comparable接口
1.在定义类 compareble
@Override
    public int compareTo (Student s) {
        int num =this.age -s.age;                                                               
        int num2 = num ==0?this.name.compareTo(s.name):num;                           
        return num2;
                                                                                                                  
2.在测试类 Comparator比较器
TreeSet<Student> ts = new TreeSet<Student>(new Comparator<Student>() {
            @Override
            public int compare (Student s1, Student s2) {
                int num = s1.getAge() - s2.getAge();
                int num2 = num == 0 ? s1.getName().compareTo(s2.getName()) : num;
                return num2;


Generic 泛型              Generic可以随意写字母                             通配符 Collection<?>
      
public class Generic<T> {          Generic s = new Generic("aa",55);
private T name;                         System.out.println(s.getAge()+","+s.getName());
private T age;                                             
public<T> void show(T z){
方法也可以泛型



                                                          6.Map(键唯一,一样后面替代前面)

          HashMap 两个定义类型,   Set 一个定义类型

                 键       值                                 
map.put(String,String)   添加元素
map.get(String)              获取值
map.keySet ()         获取所有键的集合
map.values()         获取所有值的集合


HashMap<String,String> map = new HashMap<String, String>();

                       增强for遍历 Student类型
Set<String> set = hm.keySet();
        for ( String s : set ) {
            Student value =hm.get(s);
            System.out.println(s+","+value.getName()+","+value.getAge());

                    
                       迭代器遍历
Iterator<String> it = set.iterator();
        while (it.hasNext()){
            String key = (String) it.next();
            String value = map.get(key);

                      entrySet方法
Set<Map.Entry<String,String>> entr =map.entrySet();
        Iterator<Map.Entry<String,String>> ite = entr.iterator();
        while (ite.hasNext()){
            Map.Entry<String,String> next =ite.next();
            String key =next.getKey();
            String value =next.getValue();
            System.out.println(key+""+value);
        }
        for ( Map.Entry<String, String> entry : entr ) {
            String key =entry.getKey();
            String value = entry.getValue();
            System.out.println(key+""+value);
        }


                                                               7.Collectiones 具体的类
Collectiones.sort(list);                 从小到大排序
Collectiones.reverse(list);           反转排序
Collectiones.shuffle(list);            随机排序  

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马