首页 > 编程知识 正文

java初学笔记,parseint函数java

时间:2023-05-06 05:33:38 阅读:163955 作者:3485

Java返回全部(函数注释publicbooleanretainall ) collectionc )参数:集合c包含必须保留在列表中的元素

返回值:如果调用更改了列表,则返回true;否则返回false。

ArrayList的Collection A.retainAll(Collection B)方法的用途:

1 .保留与当前Collection B实例的Collection A重复的元素,并将其作为参数传递给Collection A。

下边举两个例子来展示如何使用retain All函数:

1:把Collection B中的重复元素传递给Collection A

import java.util.ArrayList; public class gfg { publicstaticvoidmain (string [ ] args )//空arraylistarrayliststringbags=newarraylistststring }; 将值bags.add(pen )添加到//bag; BGS.add(Pencil ); BGS.add(Paper ); //另一个arraylistarrayliststringboxes=newarrayliststring (; 将值Boxes.add(pen )添加到boxes; Boxes.add(Paper ); Boxes.add(Books ); Boxes.add(rubber ); 未使用retainAll方法的bag和boxes system.out.println (' bags contains 3360 ' bags ); system.out.println (Boxes contains : ) boxes ); retainAll方法boxes.retainall(bags ); ///表示使用后的值的system.out.println ((nafterapplyingretainall ) ) ' ' methodtoboxes(n ) ); system.out.println (bags contains : ) bags; system.out.println (Boxes contains : ) boxes ); } } out put :

Bags Contains :[pen,pencil,paper]Boxes Contains :[pen,paper,books,rubber ] afterapplyingretainall (方法)

风中的外套在需要理解排列nums A和nums B中重复的要素的情况下,例如:

num S1=[ 1,2,2,1 ],num S2=[ 2,2 ]。 他们中的重复要素是ans=[2]。

num S1=[ 4,9,5 ],num S2=[ 9,4,9,8,4 ]。 他们中的重复元素是ans=[ 9,4 ]。

用简单的暴力方法,nums1的所有元素都可以放入几个名为int [] arr1的桶中。 于是,arr[i]表示数组nums1的值为I的数字的个数,用这个方法将nums2放入int[] arr2,比较两者的桶值的话,arr1[i]=arr2[i],但是,这样的想法有两种。 另外,返回的ans序列很可能是[ 0,3,8,1,0,9,4,66,21,0,664,0,4,6 ],这里的0有两种可能性,第一种是如何与input的两个序列nums1 如何提取0以外的元素? 所以改变想法。

将nums1和nums2转换为Set集合,然后使用Set方法进行操作

二、retainAll函数对数组中重复元素的处理

如果需要了解风中的外套在Collection A和Collection B中重叠的因素,可以使用collection a.retain all [ collection b ]。 collectiona将被重写为只包含与collectionb相交的元素,此时,要返回collectiona和collectionb相交的元素,必须找到被重写的collectiona的元素。

set1 .返回全部(set 2; int[]output=newint[set1.size(] (); int idx=0; for(ints:set1) { output[idx ]=s; }这在时间和空间上的复杂度远远优于直接使用set1.contains(elementsofset2)

1、使用java retainAll()函数

要使用contains函数,必须首先在Collection A和Collection B中找到size较小的一个。 具有较小导线长度的Collection可降低时间复杂度。

public class solution { public int [ ] intersection (int [ ] num S1,int[] nums2 ) }; HashSetInteger set2=new HashSet (; for(intelement3360nums1) set1.add ) element; }for(intelement:nums2) set2.add ) element ); }if(set1.size ) (set1.size ) ) returnset _ intersection (set 2,set1 ); } else { returnset _ intersection (set1,set2 ); } private int [ ] set _ intersection (hashsetintegerset 1,HashSetInteger set2) int[]ans=newint ) set1.size ] int for(intelement3360set1) if ) set2. contains (element ) ) { ans[index]=element; 索引; }returnArrays.copyof(ans,index ); }

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。