黑马程序员——集合

                                    ------- android培训java培训、期待与您交流! ----------

集合Collection接口

   add(E e) --添加单个元素  添加失败返回假 添加成功返回真 有的集合不允许重复元素,所以调用该方法就会返回false
                          如果是集合不支持add操作或不允许添加指定类的元素或不允许添加null元素等而导致添加 失败,则会抛出异常
        addAll(集合) --添加一个集合  

   remove(Object o)  --移除指定单个元素 ,如果集合而存在一个或多个指定元素的则移除符合的一个元素并返回true,如果不存在返回false
        removeAll(集合) --移除交集  , 如果存在交集则移除成功返回true
        retainAll(集合) --保留交集 
        clear() --清空集合中所有元素 

   toArray() --集合转换成数组,Object类型数组       
 
      <T> T[]  toArray(T[] a) --返回指定类型的数组

       contains(Object o) --包含指定元素返回真 
        containsAll(集合) --此集合包含指定子集
        isEmpty() 此集合不包含任何元素返回true
       size() --集合元素个数 ,如果集合包含的元素个数
       equals(Object o) --比较此collection是否与指定对象相等


   Iterator<E> iterator()  返回以恰当顺序在此列表的元素上进行迭代的迭代器。 集合特有的元素的获取方式

的方法,凡是可以操作下标的都是list特有的方法。 

list集合特有的迭代器
ListIterator
在迭代的时候,不可以通过集合对象操作集合的元素。因为会发生ConcurrentModificationException


List
|-----ArrayList 底层是数组、有序,方便查找
|-----LinkedList 底层是链表,有序,方便插入和删除
|-----voctor    和ArrayList一样,是线程安全的。

Set 
|-----HaseSet 底层是hash表  无序
是通过元素的两个方法,hashCode()和equals来完成的。
先判断hashCode(),如果hash值线条,才会判断equals方法。
如果hash值不同,则不会判断equals,相对来说效率更高,
所以一般的会同时重写hashCode和equals方法。
|-----TreeSet 底层是二叉树
可以对set集合中的元素排序(字母自然顺序)
保证元素唯一性的依据是:compartTo方法return 0.
1、TreeSet排序有默认的方式,让元素自身具备比较方法,需要实现Comparable接口,覆盖compareTo方法。
2、让TreeSet自身具备比较方式。


Set集合的功能和Collecation是一致的。


Set底层其实就是map集合。


Map--
|----HashTable 底层是hash表结构,不可以存在Null健和null值,该集合石线程同步的。
|----HashMap   底层是hash表结构,可以有Null键null值,但只有一个Null健。是不同步,线程不安全。
|----TreeMap   底层是二叉树,线程不同步,可以给map集合中的键排序。




遍历Map集合的两种方式
1、keySet:将map中所有的键存入到set集合中,因为set具备迭代器。
      所有可以迭代方式取出所有的键,在根据get方法。获取每一个键对应的值。
      
2、entrySet
   Set<Map.Entry<k,v>> entrySet:将集合汇总的映射关系存入到了set集合中,而这个关系的数据类型就是Map.Entry
   
 


   
System---------   
Properties是Hashtable的子类,也就是Map集合。
可以用
for(Object obj : System.getProperties().keySet()){
String value = (String)obj.get(obj);
S.O.P(value);
}


在虚拟机启动的时候,动态加载参数。






Runtime-------------单例的,没有构造函数,说明不可以new对象。
每个java程序都有一个Runtimm实例,使应用程序能够预期运行的环境相连,
该类中有非静态法方法,说明提供了返回本类对象的方法。

Runtime r = Runtime.getRuntime();
Process p = r.exex("notepad.exe",Demo.java);//打开记事本,并打开具体的文件,会抛出异常。
p.destory();杀死进程。






Date-----------------


Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 hh:mm:ss");
sdf.format(date);




Calendar---------------
Date date = new Date();
Calendar calendar = Calendar.getInstance();
calendar.get(YEAR);

calendar.add(Calendar.YEAR,4);在当前时间上加4天

转载于:https://my.oschina.net/u/158350/blog/106793

黑马程序员的tb_brand是指在JavaWeb基础教程中创建的一个表。这个表是用来存储品牌信息的,具体的表结构和数据类型需要和JavaBean类中的成员变量保持一致。\[1\]在这个教程中,使用了Maven来构建项目,并且使用了MyBatis作为持久层框架,通过配置pom.xml文件来引入相关依赖。\[2\] Maven是一个用于管理和构建Java项目的工具,它提供了一套标准化的项目结构、构建流程和依赖管理机制。\[3\] #### 引用[.reference_title] - *1* [【JAVAWEB开发】黑马程序员java web案例资料(含Element的删除与修改)](https://blog.csdn.net/aasd23/article/details/126940147)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [黑马程序员-MyBatis 框架-最全入门笔记、阿伟看了都得说真大、真细、真全!!!](https://blog.csdn.net/qq_57383364/article/details/128103058)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [JavaWeb——黑马程序员课程笔记](https://blog.csdn.net/King_ZACC/article/details/128573804)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值