标签: collections

ArrayList<String> 无法转换为字符串。

好的,我正在制作一个 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)

java collections arraylist

-2
推荐指数
1
解决办法
4038
查看次数

在 Java 中迭代 Set 的最佳方法

情况是我必须迭代一个包含最多 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 秒,我必须多次调用相同的循环。

java collections iterator loops set

-2
推荐指数
1
解决办法
8828
查看次数

ArrayList 容量限制限制

我搜索了 ArrayList 容量问题,但找不到完整的答案。所以在这里再次询问。

我知道我们在 ArrayList 中添加的元素数量和容量是我们可以在该列表中放入多少数据,默认值为 10。

所以这里的问题是在声明是否赋予这样的能力时

List<String> list = new ArrayList<>(1);
Run Code Online (Sandbox Code Playgroud)

然后我也可以继续添加最多 10 或 20 个元素。那么这个容量声明是否仅对达到容量时发生的内部重新分配有用?

或者通过给出容量限制,我们可以只限制添加元素的那个点吗?

java collections arraylist

-2
推荐指数
1
解决办法
4373
查看次数

C#:基于条件从集合返回元素的泛型函数

所以我有这个基于的function返回元素collectioncondition

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)

我需要在我的功能中改变什么?

c# collections func

-2
推荐指数
1
解决办法
54
查看次数

如何.count() list.stream() 的子对象?

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 将不胜感激这方面的一些帮助。

java mapping collections java-8 java-stream

-2
推荐指数
1
解决办法
663
查看次数

使用自定义Comparator按LocalDate对ArrayList进行排序

我将一些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 sorting collections dictionary list

-2
推荐指数
1
解决办法
670
查看次数

在两个列表中创建匹配元素的映射

我有两个清单。我想创建一个映射里面会有真正的匹配部件及虚假的唯一一个在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 collections lambda java-8 java-stream

-2
推荐指数
1
解决办法
97
查看次数

无法在 java 8 中导入 java.util.stream

我在导入时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)

java collections java-8 java-stream

-2
推荐指数
1
解决办法
959
查看次数

如何在laravel php中从数据集编写子查询

数据集

[
     {
        "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 子查询中实现它。任何人都可以指导我或提供一些建议。欣赏它。

php collections subquery dataset laravel

-2
推荐指数
1
解决办法
41
查看次数

流 flatMap 与地图

要过滤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)

java collections stream java-8

-2
推荐指数
1
解决办法
147
查看次数