游客您好
第三方账号登陆
  • 点击联系客服

    在线时间:8:00-16:00

    客服电话

    020-85534346

    电子邮件

    81058337@qq.com
  • 码云社APP

    随时掌握码云社动态

  • 扫描二维码

    关注砺锋微信公众号

推荐阅读
故23333 砺锋学员
未知星球 | 未知职业
  • 关注0
  • 粉丝1
  • 帖子21
Ta的其他帖子

JAVASE day15 杨岱谋

[复制链接]
故23333 发表于 2020-7-31 23:13:15 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
容器collection:一组存放多个对象的可变字符序列
一、List
1.Arrayslist:有序可重复(下标从0开始)
常见方法:
add();
List list=new ArrayList();
List list1=new ArrayList();
list.add(new Student());
list.add("hh");
list.add(123);  //自动装箱
//插入,后面元素后移
list.add(0,"ss");
list1.add("故");

list.add(list1);        //将数组2加到数组1中
size()长度
System.out.println(list.size());
get();
//get()返回Object类型
String str=(String)list.get(0);
int i=(int)list.get(3);
contain();返回Boolean类型
System.out.println(list.contains("hh"));
remove();移除
list.remove("hh");
list.remove(0);//直接用索引删除
System.out.println(list.contains("hh"));
clear();清空
//清空
list.clear();
System.out.println(list.size());
set():原有元素被覆盖
list.set(0,"55"); //原有元素被覆盖
2、LinkedList
LinkedList list=new LinkedList();
        list.add(0,"66");
        list.add(1,"55");
        System.out.println(list);
        for(Object obj:list){
            System.out.println(obj);
        }
        list.offer("后面添加");
        list.push("前面添加");
        Object o=list.peek(); //获取集合的第一个元素
//        Object o1=list.peekFirst();
        System.out.println(o);
        System.out.println(list);
        /*Iterator iterator=list.iterator();
        while (iterator.hasNext()){
            String i= (String) iterator.next();
            System.out.println(i);
        }
*/
        //去除
        list.remove("66");
        System.out.println(list);
二、Set:无序不可重复
1、HashSet:利用Object类的hashcode方法来确定存储位置
(1)若是该位置无其他元素,直接char
(2)若是该位置有其他元素,调用equals()方法,比较相等则舍弃该对象;不相等则覆盖原有对象
   ps:重写hashcode()与equals()可解决实例对象不同(但内容相同)——>重复
Set set=new HashSet();
set.add("北京");
set.add("广州");
set.add("上海");
set.add("北京");
System.out.println(set);
for(Object obj:set){
    System.out.println(obj);
}
控制台:[广州, 上海, 北京]

2、TreeSet
三、Map键值对
1、HashMap:
(1)HashMap:HashMap的键不能重复,会覆盖
                put(Object key,Object )
Map map=new HashMap();
map.put("201","离");
map.put("202","森");
map.put("203","青");
contains()
boolean b=map.containsKey("201");
boolean b1=map.containsValue("离");
get()
map.get("201");
System.out.println(map.get("201"));
//获取键的set集合,获取值的collection集合
Set s=map.keySet();
Collection s1=map.values();
System.out.println(s1);
replace(); 替代
map.replace("201","禁");
remove() 移除
map.remove("201");
System.out.println(map);
遍历‘
for(Object key:map.keySet()){
    System.out.println(key+"--"+map.get(key));
}
2、HashTable
3、TreeMap
四、迭代器iterator(接口):容器,所有集合都实现了iterator接口
1、iterator():将元素封装进容器
2、hasNext():boolean是否还有下一个元素
3、next():返回下一个元素
Iterator iterator=list.iterator();
        while (iterator.hasNext()) {
            int i=(int)iterator.next();
            System.out.println(i);
//            System.out.println(iterator.next());
        }
五、增强for循环 for-each
格式:for(类型 临时变量:容器变量){  循环体 }
String[] s={"哦哦","aa","ss"};
for(String s1:s){
    System.out.println(s1);
}
六、泛型:泛型是参数化类型,使用广泛的类型,声明时使用泛型,使用时确定类型
T type ,K V  , E element
1、泛型类:class 类名<字母列表>{  }
                                        (1)不能使用基本类型,指定类型引用类型
                                    (2)使用时自动类型检查,自动类型转换
                                    (3)字母不能使用在静态属性,静态方法中
         泛型接口:泛型字母不能使用在方法中,不能使用在全局常量中(隐含static)。
    泛型方法:返回类型前面,只能访问信息,不能修改信息
    public static<T,T1> void Test(){}
2、自定义泛型
        (1)父类为泛型类:属性,方法,子类:使用时指定具体类型
                (2)子类为泛型类,类型在使用时确定
        (3)子类为泛型类,父类不指定类型(泛型的擦除,用Object)                    (不能子类擦除,父类泛型) 子类>=父类泛型
        (4)子类和父类同时擦除
        1.重写时,随父亲而定 2.属性子类随子类,父类随父类
3、泛型的擦除:继承和声明时不指定类型,用Object对待
消除警告使用Object,擦除不会类型
4、通配符:? 类型不定,使用时确定类型
        使用:只能在声明时使用,不能说声明类或使用时
? extends : <=上限 指定类型 子类或自身
? super:>=下限 指定类型为自身或父类、
5、泛型的嵌套
泛型的嵌套:与调用没有关系。从外到内拆分
6、泛型与数组
         泛型与数组:没有泛型数组  String,,可以声明,不能创建

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
码云社-用代码改变世界!
回复 关闭延时

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

CODESEEDING(码云社)一家致力于程序员成长、以内容为核心、以提问为引导的多元化成长社区。我们在线上为技术爱好者提供了一个优质的交流氛围环境,在线下同样和众多高校联合开办了技术沙龙品牌。
020-85534346
关注我们
  • 访问移动H5版
  • 官方微信公众号

码云社 - CODESEEDING 2.0© 2018-2019 码云社. TOOBUG ( 粤ICP备16114193号-3 )