好的,我正在制作一个 CD 收藏程序,一切都很顺利,因为我按照我的课程进行,但后来我遇到了想让它显示在 jTextArea 中的问题。我敢打赌有一个简单的解决方案,但我找不到。我对此很陌生,任何答案都将不胜感激,我也在这里寻找答案,但没有发现我理解的任何内容。
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
jButton1.setEnabled(true);
jButton2.setEnabled(false);
jButton3.setEnabled(false);
jButton4.setEnabled(false); //buttons
ArrayList<String> CD = new ArrayList(); //list
Collections.addAll(CD, "\nEd Sheeran - X\n", "\nNirvana - Nevermind\n", "\nShania Twain - Up!\n", "\nLights - Little Machines\n", "\nTaylor Swift - 1989\n"); //PreAdded CDs
Collections.sort(CD);
jTextArea1.setText(CD); //it works if i do System.out.println(CD) ? I need it to go to jTextArea1 though.
Run Code Online (Sandbox Code Playgroud) 情况是我必须迭代一个包含最多 5000 个元素的集合。目前,我正在使用带有迭代器的普通 for 循环。
for (Iterator iterator = allValues.iterator(); iterator.hasNext();) {
ListMetadataElem element = (ListMetadataElem) iterator.next();
NameValueObject value = new NameValueObject();
value.setId(element.getListMetadataElemSeqId().toString());
value.setValue(element.getListMetadataElemNm());
abstractVO.getAllListMetadataElems().add(value);
}
Run Code Online (Sandbox Code Playgroud)
问题是它需要太多时间来迭代 6-7 秒,我必须多次调用相同的循环。
我搜索了 ArrayList 容量问题,但找不到完整的答案。所以在这里再次询问。
我知道我们在 ArrayList 中添加的元素数量和容量是我们可以在该列表中放入多少数据,默认值为 10。
所以这里的问题是在声明是否赋予这样的能力时
List<String> list = new ArrayList<>(1);
Run Code Online (Sandbox Code Playgroud)
然后我也可以继续添加最多 10 或 20 个元素。那么这个容量声明是否仅对达到容量时发生的内部重新分配有用?
或者通过给出容量限制,我们可以只限制添加元素的那个点吗?
所以我有这个基于的function
返回元素collection
condition
public static T Search<T>(IEnumerable<T> source, Func<T, bool> filter)
{
return source.FirstOrDefault(filter);
}
Run Code Online (Sandbox Code Playgroud)
而且我想将其转换为返回elements
我的collection
那个形式的所有形式condition
.
所以不要将函数签名更改为 public static IEnumerable<T> Search<T>(IEnumerable<T> source, Func<T, bool> filter)
我需要在我的功能中改变什么?
public static int amountKurse (List<Studie> lstd) {
int result = (int) lstd.stream().map(Studie::getKurse).count();
return result;
}
private Map<Kurs,Integer> kurse = new HashMap<>();
public Set<Kurs> getKurse(){
return kurse.keySet();
}
Run Code Online (Sandbox Code Playgroud)
我想计算Kurse
我所有Studie
对象中的数量。我目前的结果是20
,什么时候应该是132
我猜我的功能只是计算数量Studie
将不胜感激这方面的一些帮助。
我将一些Json反序列化并将其放入具有以下结构的模型中:
模型:
import java.time.LocalDate;
public class MyClass implements Serializable {
String name;
LocalDate date;
// more attributes
public MyClass(...) {
// ...
}
// getters & setters
}
Run Code Online (Sandbox Code Playgroud)
然后我将该类放入ArrayList : List<MyClass> list = new ArrayList<>()
. 该列表如下:
[
{
"name": "peter",
"date": {
"year": "1984",
"month": "10",
"day": "17"
}
},
{
"name": "steve",
"date": {
"year": "1976",
"month": "05",
"day": "04"
}
}
]
Run Code Online (Sandbox Code Playgroud)
我知道想list
按日期排序,所以Steve
之前就是这样Peter
.
我的方法是:
Comparator<Map<String, String>> mapComparator = (Map<String, String> m1, …
Run Code Online (Sandbox Code Playgroud) 我有两个清单。我想创建一个映射里面会有真正的匹配部件及虚假的唯一一个在Java 8
EG。
输入 -
列表1 = [A,B,C,D]
列表2 = [B,C,Y,Z]
输出 -
地图:
A,假
B,真
C真
D,假
我的代码:
Map<String,Boolean> map = new HashMap<>();
for(String var1 : list1) {
boolean value;
if (CollectionUtils.isNotEmpty(list2)) {
Optional<String> valueOptional = list2.stream()
.filter(e1 -> e1.equalsIgnoreCase(var1))
.findAny();
value = valueOptional.isPresent();
map.put(var1, value);
}
}
Run Code Online (Sandbox Code Playgroud) 我在导入时java.util.stream.*;
遇到问题编译我的代码给了我一个流()
“找不到符号错误”。
这是我的进口清单
import java.util.stream.*;
import java.util.*;
import java.lang.String;
import java.util.Arrays;
import java.nio.file.*;
import java.io.IOException;
Run Code Online (Sandbox Code Playgroud)
这是我正在编译的代码
List<Beverage> l = cantine.stream()
.filter(p -> p.name.equals(nam))
.collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)
重要提示:我知道什么是“找不到符号错误”,所以请不要盲目关闭这个问题。
完整代码供参考
import java.util.stream.*;
import java.util.*;
import java.lang.String;
import java.util.Arrays;
import java.nio.file.*;
import java.io.IOException;
public class Enoteca{
Map<String,Beverage> cantine;
public Enoteca(){
this.cantine = new HashMap<String,Beverage>();
}
public List<Beverage> byName(String nam){
List<Beverage> l = cantine.stream()
.filter(p -> p.name.equals(nam))
.collect(Collectors.toList());
}
public static void main(String[] args){
Enoteca e = new Enoteca();
for(String s: args){
Beverage b …
Run Code Online (Sandbox Code Playgroud) [
{
"agent_id": "D01",
"amount": "2"
},
{
"agent_id": "D01",
"amount": "2"
},
{
"agent_id": "A01",
"amount": "1"
},
{
"agent_id": "A01",
"amount": "1"
},
]
Run Code Online (Sandbox Code Playgroud)
[
{
"agent_id": "D01",
"amount": "4"
},
{
"agent_id": "A01",
"amount": "2"
},
]
Run Code Online (Sandbox Code Playgroud)
你好,有一个原始数据集,有 4 个集合,如上图所示。我试图用 group byagent_id
和 sum of the来转换数据amount
。
我计划使用子查询 likes select agent_id, sum(amount) from (Dataset) group by agent_id
,但是我不知道如何在 laravel 子查询中实现它。任何人都可以指导我或提供一些建议。欣赏它。
要过滤List
我们可以使用
a1.stream().filter(x->x>6).forEach(System.out::println);
Run Code Online (Sandbox Code Playgroud)
并过滤我使用的两个列表 FlatMap
Stream<List<Integer>> s2=Stream.of(a1,a2);
s2.flatMap(x->x.stream()).sorted().filter(x->x>6).forEach(System.out::println);
Run Code Online (Sandbox Code Playgroud)
但我尝试以这种方式过滤单个 List
Stream<List<Integer>> s1=Stream.of(a1);
s1.map(x->x.stream()).filter(x->x>2).forEach(System.out::print);
Run Code Online (Sandbox Code Playgroud)
我有一个错误--- The operator > is undefined for the argument type(s) Stream<Integer>, int
但是当我在地图中使用 flatMap 时没有错误为什么
Stream<List<Integer>> s1=Stream.of(a1);
s1.flatMap(x->x.stream()).filter(x->x>2).forEach(System.out::print);
Run Code Online (Sandbox Code Playgroud)