
//把给定元素添加到集合中
public boolean add(E e)
//把给定元素从集合中删除
public boolean remove(E e)
//清空集合中的所有元素
public void clear()
//判断集合中是否包含给定对象
public boolean contains(Object obj)
//判断集合是否为空
public boolean isEmpty()
//返回集合中的长度
public int size()
注意:
coll.remove(E e):Collection定义的是所有子类共有的方法,Set没有索引,所以remove方法的参数是元素。
coll.contains(Object object):Collection中contains方法底层是用object.equals()来判断元素是否相等的,所以比较的是地址值。当自定义对象类型的集合使用此方法时,需要重写equals方法。
//增:根据索引插入指定元素
public void add(int index,E e)
//删:删除指定索引处的元素,并返回被删除元素
public E remove(int index)
//改:修改指定索引处的元素,并返回被修改的元素
public E set(int index,E e)
//返回指定索引处的元素
public E get(int index)
注意:
public static void main(String[] args) {
List<Integer> list = new ArrayList<>();
list.add(1);
list.add(2);
list.add(3);
list.remove(1);// int index 删除索引为1的元素
list.remove(Integer.valueOf(1));// Object object 删除元素为1的元素
System.out.println(list);
}
Set继承了Collection接口的方法
Set的常用方法与Collection基本一致
//添加键值对元素,并返回添加之前的值(若已存在键,则覆盖键值对元素)
public V put(K key,V value)
//根据键删除键值对元素,并返回被删除的值
public V remove(Object key)
//清空所有键值对元素
public void clear()
//判断集合是否包含指定的键
public boolean containsKey(Object key)
//判断集合是否包含指定的值
public boolean containsValue(Object value)
//判断集合是否为空
public boolean isEmpty()
//返回集合的长度
public int size()
java.util.Collections:是集合的工具类
常用方法(省略泛型):
//批量添加元素
public static boolean addAll(Collection coll, T... elements)
//随机打乱元素
public static void shuffle(List list)
//根据指定规则排序(可传比较器)
public static void sort(List list)
//二分查找指定元素
public static int binarySearch(List list, T key)
//拷贝集合中的元素
public static void copy(List dest, List src)
//以指定元素填充集合
public static int fill(List list, T object)
//返回集合中的最大/最小值
public static T max/min(Collection coll)
//交换集合中指定位置的元素
public static void swap(List list, int i, int j)
//反转集合
public static void reverse(List list)
public static void main(String[] args) {
Collection<String> coll = new ArrayList<>();
coll.add("aaa");
coll.add("bbb");
coll.add("ccc");
// 迭代器
Iterator<String> it = coll.iterator();
while (it.hasNext()) {
String s = it.next();
System.out.println(s);
}
// 增强for
for (String s : coll) {
System.out.println(s);
}
// Lambda表达式
coll.forEach(s -> System.out.println(s));
//以下为List特有的遍历方式
List<String> list = new ArrayList<>();
list.add("aaa");
list.add("bbb");
list.add("ccc");
// 普通for循环
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
// 列表迭代器遍历
ListIterator<String> itList = list.listIterator();
while (itList.hasNext()) {
String s = itList.next();
System.out.println(s);
}
}
public static void main(String[] args) {
Map<String, String> map = new HashMap<>();
map.put("k1", "v1");
map.put("k2", "v2");
map.put("k3", "v3");
//键找值
Set<String> set = map.keySet();
for (String key : set) {
System.out.println(map.get(key));
}
//键值对
Set<Map.Entry<String, String>> entries = map.entrySet();
for (Map.Entry<String, String> entry : entries) {
System.out.println("key:" + entry.getKey());
System.out.println("value:" + entry.getValue());
}
//lambda表达式
map.forEach((key, value) -> {
System.out.println("key:" + key);
System.out.println("value:" + value);
});
}
随着学习与应用的深入,后期可能会有更新
本文作者:CodingOrange
本文链接:https://www.cnblogs.com/CodingOrange/p/17075280.html
转载请注明出处!
大约一年前,我决定确保每个包含非唯一文本的Flash通知都将从模块中的方法中获取文本。我这样做的最初原因是为了避免一遍又一遍地输入相同的字符串。如果我想更改措辞,我可以在一个地方轻松完成,而且一遍又一遍地重复同一件事而出现拼写错误的可能性也会降低。我最终得到的是这样的:moduleMessagesdefformat_error_messages(errors)errors.map{|attribute,message|"Error:#{attribute.to_s.titleize}#{message}."}enddeferror_message_could_not_find(obje
我有用于控制用户任务的Rails5API项目,我有以下错误,但并非总是针对相同的Controller和路由。ActionController::RoutingError:uninitializedconstantApi::V1::ApiController我向您描述了一些我的项目,以更详细地解释错误。应用结构路线scopemodule:'api'donamespace:v1do#=>Loginroutesscopemodule:'login'domatch'login',to:'sessions#login',as:'login',via::postend#=>Teamroutessc
在应用开发中,有时候我们需要获取系统的设备信息,用于数据上报和行为分析。那在鸿蒙系统中,我们应该怎么去获取设备的系统信息呢,比如说获取手机的系统版本号、手机的制造商、手机型号等数据。1、获取方式这里分为两种情况,一种是设备信息的获取,一种是系统信息的获取。1.1、获取设备信息获取设备信息,鸿蒙的SDK包为我们提供了DeviceInfo类,通过该类的一些静态方法,可以获取设备信息,DeviceInfo类的包路径为:ohos.system.DeviceInfo.具体的方法如下:ModifierandTypeMethodDescriptionstatic StringgetAbiList()Obt
我正在使用Mandrill的RubyAPIGem并使用以下简单的测试模板:testastic按照Heroku指南中的示例,我有以下Ruby代码:require'mandrill'm=Mandrill::API.newrendered=m.templates.render'test-template',[{:header=>'someheadertext',:main_section=>'Themaincontentblock',:footer=>'asdf'}]mail(:to=>"JaysonLane",:subject=>"TestEmail")do|format|format.h
//1.验证返回状态码是否是200pm.test("Statuscodeis200",function(){pm.response.to.have.status(200);});//2.验证返回body内是否含有某个值pm.test("Bodymatchesstring",function(){pm.expect(pm.response.text()).to.include("string_you_want_to_search");});//3.验证某个返回值是否是100pm.test("Yourtestname",function(){varjsonData=pm.response.json
我正在尝试使用Ruby2.0.0和Rails4.0.0提供的API从imgur中提取图像。我已尝试按照Ruby2.0.0文档中列出的各种方式构建http请求,但均无济于事。代码如下:require'net/http'require'net/https'defimgurheaders={"Authorization"=>"Client-ID"+my_client_id}path="/3/gallery/image/#{img_id}.json"uri=URI("https://api.imgur.com"+path)request,data=Net::HTTP::Get.new(path
Transformers开始在视频识别领域的“猪突猛进”,各种改进和魔改层出不穷。由此作者将开启VideoTransformer系列的讲解,本篇主要介绍了FBAI团队的TimeSformer,这也是第一篇使用纯Transformer结构在视频识别上的文章。如果觉得有用,就请点赞、收藏、关注!paper:https://arxiv.org/abs/2102.05095code(offical):https://github.com/facebookresearch/TimeSformeraccept:ICML2021author:FacebookAI一、前言Transformers(VIT)在图
Rails相对较新。我正在尝试调用一个API,它应该向我返回一个唯一的URL。我的应用程序中捆绑了HTTParty。我已经创建了一个UniqueNumberController,并且我已经阅读了几个HTTParty指南,直到我想要什么,但也许我只是有点迷路,真的不知道该怎么做。基本上,我需要做的就是调用API,获取它返回的URL,然后将该URL插入到用户的数据库中。谁能给我指出正确的方向或与我分享一些代码? 最佳答案 假设API为JSON格式并返回如下数据:{"url":"http://example.com/unique-url"
关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭4年前。Improvethisquestion我的公司有一个巨大的数据库,该数据库接收来自多个来源的(许多)事件,用于监控和报告目的。到目前为止,数据中的每个新仪表板或图形都是一个新的Rails应用程序,在巨大的数据库中有额外的表,并且可以完全访问数据库内容。最近,有一个想法让外部(不是我们公司,而是姊妹公司)客户访问我们的数据,并且决定我们应该公开一个只读的RESTfulAPI来查询我们的数据。我的观点是-我们是否也应该为我们的自己
我读了"BingSearchAPI-QuickStart"但我不知道如何在Ruby中发出这个http请求(Weary)如何在Ruby中翻译“Stream_context_create()”?这是什么意思?"BingSearchAPI-QuickStart"我想使用RubySDK,但我发现那些已被弃用前(Rbing)https://github.com/mikedemers/rbing您知道Bing搜索API的最新包装器(仅限Web的结果)吗? 最佳答案 好吧,经过一个小时的挫折,我想出了一个办法来做到这一点。这段代码很糟糕,因为它是