集合 篇

集合 篇

Collection 集合(接口)   

add(value);

     List 集合(接口)--重复元素,将以特定次序存储元素。所以取出来的顺序可能和放入顺序不同。
       ArrayList  --- 数组+单向链表 ,顺序 , 由数组实现的List。它允许对元素进行快速随机访问,但是向List中间插入与移除元素的速度很慢。
       LinkedList --- 数组+双向链表 ,首尾,只应该用来由后向前遍历ArrayList,而不是用来插入和删除元素,因为这比LinkedList开销要大很多。

 

 
  TreeSet 集合
          底层 TreeMap 处理 add()--> put(key,value)
          集合元素有一定的排序规则(比较器)

           自然排序: Comparable 接口--compareTo()


              实体类 implements Comparable {
                  compareTo()
                  学号升序
                  名字升序 
              }
     
           自定义:   Comparator 接口--compare()
               定义TreeSet集合时,指定排序规则
                new TreeSet<> ( 


                     new Comparator( ){
                        int compare()
                     } );
 Map 集合
  基本特点:
  1. 向集合中添加元素 put(key,value )
         maps
         maps.put( 1,"hello" ) -- Entry<key,value>
         maps.put( 2,"morning")-- Entry

         keySet(): 所有key
         values(): 所有values

         entrySet(): 所有 Entry对象     


  2. 重复对象:
     基本数据类型 
     对象数据类型数据重复:
      1. User 类  hashCode() equals()
      2.  
        users
        u1 = new User("101","王小王");
        u2 = new User("101","王小王");
        u3 = new User("","");


        users.put( u1, 2);
        users.put( u2, 1);
        users.put( u3, 3);
 
  3. Map集合的具体实现:
     HashMap :   
     TreeMap :

 HashMap 集合
  HashMap 集合的特点:
  1. 底层使用 哈希表 的结构存储元素
     哈希表: 数组+链表结构
     数据结构中存储数据时经常用到的三种结构:
      数组:长度定义定义之后,不能再改变;顺序取数据时
           效率高;若增加数组元素,需要重要开辟新空间,
           浪费空间且增加执行负担
           
      链表:可随意扩容长度,存储数据时,可随机存储,
           数据在表中存储位置较零散,查找某数据时
           数据量大;


      哈希表:将 数组和链表的特点结合起来,存取数据
             操作数据方便,效率得到提高;
   
  b. HashMap 在存储数据时,两个重要参数:
      注:这两个参数是基于 哈希表 操作的;
      capacity:容量
      load factor: 类加载因子    
      初始容量是 哈希表中"桶"的数量,创建一个HashMap后,默认容量为16;

      类加载因子: 创建一个HashMap后,类加载因子默认为

     类加载因子是哈希表在其容量自动增加之 前可达到多满的一种尺度.一般来说,负因子越大,表中的装载量越多;

  
  c.HashMap 中是如何存储数据的? ( put )
          
  d.放到 HashMap中的数据,不能保证存取顺序一致;
  
  TreeMap 集合
  放到TreeMap集合中的元素应该按照一定的规则排序
  Comparable  Comparator
    基本数据类型的封装类已经自动实现,String也实现了
    自然排序,默认是按key值排序:
         整数按数值从小到大
         浮点型从小到大
         字符型:ASCII码
  TreeMap中提供 了一些 fir*** last**()
  FirstKey()| LastKey()
  FirstValue()|LastValues()
  FirstEntry()|LastEntry

Collection与Collections区别

在学习的时候要注意区分这两个概念。

java.util.Collection 是一个集合接口

   它提供了对集合对象进行基本操作的通用接口方法。Collection接口在Java 类库中有很多具体的实现。Collection接口的意义是为各种具体的集合提供了最大化的统一操作方式。

java.util.Collections 是一个包装类

    它包含有各种有关集合操作的静态多态方法。此类未提供public构造器,不能实例化,就像一个工具类,服务于Java的Collection框架。


内容概要:本文深入研究了基于深度强化学习(DRL)的微网储能系统控制策略。首先介绍了微网系统的组成及其特性,重点探讨了光伏发电、储能系统和负荷系统的关键组件数学模型。接着详细描述了Simulink仿真设计实现,包括微网环境模拟类(MicrogridEnv)、双重深度Q网络(Double DQN)算法的实现以及训练过程。为了验证该方法的有效性,文章还进行了对比实验,分别测试了规则策略、传统优化方法和DDQN策略的表现。实验结果显示,DDQN策略在成本节约、SOC合规率等方面明显优于其他两种方法。最后,本文提出了创新点与贡献总结,包括仿真-学习一体化框架、改进的DRL算法以及多维度验证,并展望了后续研究方向如多时间尺度优化、多能源协同、不确定性处理等。 适用人群:从事电力系统、微网技术研究的专业人士,以及对深度强化学习应用于能源领域感兴趣的科研人员和工程师。 使用场景及目标:①掌握微网储能系统的基本构成与工作原理;②理解如何利用深度强化学习优化微网储能控制策略;③学习具体的算法实现细节,包括环境搭建、DDQN算法实现和训练流程;④对比不同控制策略的效果,评估DDQN策略的优势。 其他说明:本文不仅提供了理论分析和技术实现,还展示了详细的实验验证过程,通过具体的实验数据证明了所提方法的有效性。此外,文中提及的多种改进措施和技术细节对于实际工程项目具有重要的参考价值。阅读本文有助于读者全面了解微网储能控制领域的最新进展,为相关研究和技术开发提供有益的指导。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值