zoukankan      html  css  js  c++  java
  • Java 随心笔记9

    大纲
    Collection
    Set
    HashSet
    TreeSet
    List
    ArrayList
    LinkedList

    1、集合和数组 集合存储包装类的数据 数组存储基本数据类型
    List接口:List 是存取有序的;带有索引的;可以有「重复」的元素

    迭代器 iterator:对集合的遍历

    2、Foreach循环 Iterator
    for(数据类型 变量名:数组或者集合){
    sop(变量);
    }
    优点:代码量减少
    缺点:无法对索引进行操作
    作用:简化数组和Collection集合的遍历

    3、泛型

    使用:<>:需要明确的数据类型加入括号中
    好处:提高了程序的安全性,可以将运行时的错误提前到编译期。
    注意:List<String> list = new ArrayList<String>();中后面的<>可以在JDK中省略

    a)泛型类:实例化对象时,明确数据类型
    格式:public class 类名<泛型类型1,…>

    b)泛型方法:
    格式:public <泛型类型> 返回类型 方法名(泛型类型 .)

    c)泛型接口:
    格式:public interface 接口名<泛型类型1…>
    把泛型定义在接口上

    4、List集合
    ArrayList LinkedList Vector

    数据存储的常用结构:
    a)栈:先进后出
    b)队:先进先出
    c)数组:查找元素快,增删元素慢
    d)链表:查找元素慢,增删元素快

    5、set Hashset
    哈希值的计算方法: h = 31 * h + val[i];h-->0,1,2
    保证HashSet集合元素的唯一:根据对象的hashCode和equals方法来决定的。如果我们往
    集合中存放自定义的对象,那么保证其唯一,就必须复写hashCode和equals方法建立属于
    当前对象的比较方式。

     1 import java.util.List;
     2 import java.util.ArrayList;
     3 //将的酒店员工,厨师,服务员,经理,分别存储到3个集合中
     4 //定义方法,可以同时遍历3集合,遍历三个集合的同时,可以调用工作方法
     5 
     6 public class Test_1_fanxing {
     7     public static void main(String[] args) {        
     8         ArrayList<Chushi> arr = new ArrayList<Chushi>();
     9         ArrayList<Jingli> arr1 = new ArrayList<Jingli>();
    10         ArrayList<Fuwuyuan> arr2 = new ArrayList<Fuwuyuan>();
    11             
    12         Chushi cs = new Chushi();    
    13         cs.setName("厨师");
    14         arr.add(cs);
    15         Fuwuyuan fwy = new Fuwuyuan();    
    16         fwy.setName("服务员");
    17         arr2.add(fwy);
    18         Jingli jl = new Jingli();
    19         jl.setName("经理");
    20         arr1.add(jl);
    21         shuchu(arr);
    22         shuchu(arr1);
    23         shuchu(arr2);    
    24     }
    25 
    26     public static  void shuchu(ArrayList<? extends Employee> list)//通配符
    27     {
    28         for (int i = 0; i < list.size(); i++) {
    29             System.out.println(list.get(i).getName());
    30             list.get(i).work();            
    31         }
    32     }
    33 }
    34 class  Employee{
    35     private String name;
    36     public void work() {} 
    37     public String getName() {
    38         return name;
    39     }
    40     public void setName(String name) {
    41         this.name = name;
    42     }        
    43 }
    44 class Chushi extends Employee{
    45     public void work() {
    46         System.out.println("职责:做饭");
    47     }
    48 }
    49 class Jingli extends Employee{
    50     public void work() {
    51         System.out.println("职责:管理秩序");
    52     }
    53 }
    54 class Fuwuyuan extends Employee{
    55     public void work() {
    56         System.out.println("职责:上饭");
    57     }
    58 }
    同样的梦想,不一样的起点,大家共同进步, 微信公众号「孝客之乡」作者。
  • 相关阅读:
    HDU 1010 Tempter of the Bone(DFS剪枝)
    HDU 1013 Digital Roots(九余数定理)
    HDU 2680 Choose the best route(反向建图最短路)
    HDU 1596 find the safest road(最短路)
    HDU 2072 单词数
    HDU 3790 最短路径问题 (dijkstra)
    HDU 1018 Big Number
    HDU 1042 N!
    NYOJ 117 求逆序数 (树状数组)
    20.QT文本文件读写
  • 原文地址:https://www.cnblogs.com/JulyTail/p/9102114.html
Copyright © 2011-2022 走看看