2022.08.31学习笔记

学习笔记

Collection和Collections的区别

  • Collection是一个集合接口,提供了对集合对象进行基本操作的通用接口方法,所有集合都是它的子类,比如List、Set等
  • Collections是一个包装类,包含了很多静态方法,不能被实例化,像是一个工具类,比如提供排序的方法:Collections.sort(list)

HashMap和Hashtable的区别

  • HashMap允许key和value为null,Hashtable不允许
  • Hashtable是线程安全的,HashMap不是
  • 单线程下HashMap 多线程下ConcurrentHashMap

ArrayList和LinkedList

在需要频繁读取集合中的元素时,更推荐使⽤ ArrayList,⽽在插⼊和删除操作较多时,更推荐

使⽤ LinkedList

实现数组和List 之间的转换

  • 数组转 List:使⽤ Arrays.asList(array) 进⾏转换

  • List 转数组:使⽤ List ⾃带的 toArray() ⽅法

Vector和ArrayList

  • Vector使用synchronized进行同步,线程安全,ArrayList线程不安全
  • Vector扩容每次扩充1倍,ArrayList每次扩充50%

Queue中poll()和remove()

  • 相同点:都是返回第⼀个元素,并在队列中删除返回的对象。

  • 不同点:如果没有元素 poll()会返回 null,⽽ remove()会直接抛出`NoSuchElementException``异常。

迭代器Iterator

迭代器Iterator提供遍历任何Collection的接口

List<String> list = new ArrayList<>();
Iterator<String> it = list.iterator();
while(it.hasNext()){
 String obj = it.next();
 System.out.println(obj);
}

更加安全,因为可以确保在当前遍历的集合被修改的时候,会抛出异常

  • Iterator可以遍历Set和List集合,单项遍历

  • ListIterator只能遍历List,双向遍历previous()+next(),迭代器默认的初始地址为首个元素,此时调用previous()是不能获取到元素的,当调用过next()后才可以获取到。可以添加一个元素、替换一个元素、获取前面或者后面元素的索引位置。

    注意此时添加替换元素是不会抛出异常的,添加的元素位置在此次迭代的it的后一个,添加后it指向的是添加元素的下一个,比如:

    List<String> list = new ArrayList<>();
    list.add("1111");
    list.add("22222");
    ListIterator<String> it = list.listIterator();
    while(it.hasNext()){
         String obj = it.next();
         System.out.println(obj);
         it.add("12345");
          //it.set("12345");
    }
    

    此时执行完1111后,迭代器内部是1111,12345,2222。此时it指向的是2222,而不是12345。

确保集合不被修改

使用Collections.unmodifiableCollection(Collection c)来创建一个只读集合,改变这个集合的任何操作都会抛出异常。

List<String> list = new ArrayList<>();
list.add("x");
List<String> clist = Collections.unmodifiableList(list);
//运行时报错
clist.add("y");
System.out.println(clist.size());
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Burp Suite 2022.6.1是Burp Suite的一个版本,它是一个用于Web应用程序渗透测试的工具。根据引用,您可以通过关注VX公众号401SecNote并回复"burp"来获取Burp Suite Professional v2022.6.1及其运行环境。此外,根据引用,您还可以通过百度网盘链接https://sysin.org/blog/burp-suite-pro-2022-6/下载Burp Suite Professional / Community 2022.6版本。如果您正在考虑安装高版本的Burp Suite,但担心与其他软件的兼容性问题,根据引用,您可以使用高版本的jdk来解决兼容性问题,并记录解决过程以备将来参考。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Burp Suite Professional 2022.6 (macOS, Linux, Windows) - Web 应用安全、测试和扫描](https://blog.csdn.net/netgc/article/details/125592616)[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^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [笔记 | 在JAVA1.8环境下安装高版本Burp Suite Pro](https://blog.csdn.net/dust_hk/article/details/126489797)[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^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值