标签: arraylist

在Android上将ArrayList保存到File

我有一个ArrayList,其中包含用户填充的字符串,以便在ListView中的其他活动中使用,以查看他们保存的字符串.我想要保存他们填充的ArrayList,但我很失落如何让它工作.我尝试过FileOutputStream,SharedPreferences.我看了很多例子.

比如我有

ArrayList<String> give = new ArrayList<String>();
Run Code Online (Sandbox Code Playgroud)

并保存arraylist香港专业教育学院尝试过的东西

FileOutputStream fos = openFileOutput(MYFILENAME, Context.MODE_PRIVATE);
fos.write(give.getBytes());
fos.close();
Run Code Online (Sandbox Code Playgroud)

但这根本不起作用

android arraylist save sharedpreferences

10
推荐指数
2
解决办法
2万
查看次数

我如何从同一方法返回2 ArrayList

我有一个方法如下,这个方法包含两个arraylist("eventList"和"emailList").

List<EmailUID> emailid=SharedEvent.getEmailUid(filter, uri, exchWD, EmailShare);

public static List<EmailUID> getEmailUid(Filter filter, String uri, NexWebDav exchWD,
            List<String> emailShare)
List eventsToday = null;
List<EmailUID> arrayList = new ArrayList<EmailUID>();
List<EmailUID> emailList = new ArrayList<EmailUID>();
List<EmailUID> eventList = new ArrayList<EmailUID>();

        for (String email : emailShare) {
            String uris = uri + email + "/events/";
            InputStream stream = null;
            try {
                stream = exchWD.get(uris);
                BufferedReader br = new BufferedReader(new InputStreamReader(stream));
                CalendarBuilder builder = new CalendarBuilder();
                net.fortuna.ical4j.model.Calendar calendar = builder.build(br);

                //eventsToday.add(email);

                eventsToday = (List<?>) filter.filter(calendar.getComponents(Component.VEVENT));
                arrayList=getEmailUID(eventsToday,email); …
Run Code Online (Sandbox Code Playgroud)

java arraylist

10
推荐指数
3
解决办法
3万
查看次数

获取ArrayList的值(String)<ArrayList <String >>(); 在Java中

我知道这是一个简单的问题,但在

ArrayList<ArrayList<String>> collection;
ArrayList<String> listOfSomething;

collection= new ArrayList<ArrayList<String>>();
listOfSomething = new ArrayList<String>();

listOfSomething.Add("first");
listOfSomething.Add("second");
collection.Add(listOfSomething);
listOfSomething.Clear();
listOfSomething.Add("first");
collection.Add(listOfSomething);
Run Code Online (Sandbox Code Playgroud)

我想从ArrayList的ArrayList中获取String,我不知道该怎么做.比如我去

ArrayList<String> myList = collection.get(0); 
String s = myList.get(0);
Run Code Online (Sandbox Code Playgroud)

它的工作原理!但:

大更新:

private List<S> valuesS;
private List<Z> valuesZ;


ArrayList<ArrayList<String>> listOfS;
ArrayList<String> listOfZ;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
        Zdatasource = new ZDataSource(this);
        Zdatasource.open();
        valuesZ = Zdatasource.getAllZ();

        Sdatasource = new SDataSource(this);
        Sdatasource.open();
        valuesS = Sdatasource.getAllS();

        List<Map<String, String>> groupData 
             = new ArrayList<Map<String, String>>();
        List<List<Map<String, String>>> childData 
             = new ArrayList<List<Map<String, String>>>();

        listOfS = new ArrayList<ArrayList<String>>(); …
Run Code Online (Sandbox Code Playgroud)

java android arraylist

10
推荐指数
4
解决办法
13万
查看次数

为什么java没有autobox int []到Integer []

当我做以下,

  • arrayList1- 包含一个元素,它是一个int[].
  • arrayList2- 不编译(错误:构造函数ArrayList<Integer>(List<int[]>)未定义)
  • arrayList3- 包含7个元素,它们是Integer对象

这是代码:

int[] intArray = new int[]{2,3,4,5,6,7,8};
ArrayList arrayList1 = new ArrayList(Arrays.asList(intArray));
ArrayList<Integer> arrayList2 = new ArrayList<Integer>(Arrays.asList(intArray));

Integer[] integerArray = new Integer[]{2,3,4,5,6,7,8};
ArrayList<Integer> arrayList3 = new ArrayList<Integer>(Arrays.asList(integerArray));
Run Code Online (Sandbox Code Playgroud)

问题: 为什么编译器不自动将int[]to 中的元素包装Integer并创建ArrayList<Integer>?这背后的原因是什么?这是我的愚蠢还是其他原因?

java arrays autoboxing arraylist

10
推荐指数
1
解决办法
3863
查看次数

在循环中创建具有不同名称的多个对象以存储在数组列表中

我正在尝试创建一种类型的多个对象.然后我想将这些值传输到数组列表中.如何使用具有不同名称的while循环创建对象.例如,这里是我的代码,但它只会生成一个名称的对象.

Customer cust = new Customer("bob", 20.0);
Run Code Online (Sandbox Code Playgroud)

和我的构造函数,如果你想看到:

public Customer(String customerName, double amount)
{
    String name=customerName;
    double sale=amount;
}
Run Code Online (Sandbox Code Playgroud)

StoreTest类(使用main方法):

import java.util.ArrayList;
import java.util.Scanner;

public class StoreTest {

ArrayList<Customer> store = new ArrayList<Customer>();

public static void main (String[] args)
{
        double sale=1.0; //so the loop goes the first time
        //switch to dowhile
        Scanner input = new Scanner(System.in);

        System.out.println("If at anytime you wish to exit" +
                ", please press 0 when asked to give " +
                "sale amount.");
        while(sale!=0)
        { …
Run Code Online (Sandbox Code Playgroud)

java arraylist object while-loop

10
推荐指数
2
解决办法
9万
查看次数

在ArrayList()中找到最常见的String

有没有办法找到最常见String的ArrayList?

ArrayList<String> list = new ArrayList<>();
list.add("test");
list.add("test");
list.add("hello");
list.add("test");
Run Code Online (Sandbox Code Playgroud)

应该从这个列表中找到"test"这个词 ["test","test","hello","test"]

java arrays list arraylist

10
推荐指数
4
解决办法
3万
查看次数

对于ArrayList构造函数,JDK API文档不正确.那是一个错误吗?

ArrayList构造函数的 JDK doc 表示初始容量为10.

这实际上是错误的,因为初始容量为0,直到将某些内容添加到列表中.我检查了Open JDK的源代码以及JDK附带的src.zip.

我知道这是性能优化,但这会被视为错误吗?

java documentation arraylist

10
推荐指数
1
解决办法
219
查看次数

如何使用Javascript计算数组中的相邻数字?

我的输入是一个像这样的数组:

[7, 7, 7, 7, 4, 4, 5, 5, 5, 1, 9, 2, 7, 7]

我想将数字组合在一起并添加它们,但按邻居,而不是按数组中的总数。所以输出将是:

['7:4', '4:2', '5:3', 1, 9, 2, '7:2']

我尝试了几种不同的方法,使用reduce, 并接近但使用内置的 Javascript 方法我最终计算了数组中的 ALL,而不是邻居。

const firstArray = [7, 7, 7, 7, 4, 4, 5, 5, 5, 1, 9, 2, 7, 7];
const masterArray = [];

const unique = new Set (numberArray); // Set {7, 4, 5, 1, 9, 2, 7}
unique.forEach(u => {
  masterArray.push(numberArray.filter(e => e === u));
});

console.log(masterArray);
Run Code Online (Sandbox Code Playgroud)

在这里使用 Set 显然是错误的,因为它会获取唯一值并对其进行计数,但我只想通过邻居来完成。那么我想我应该使用 a …

javascript arrays sorting foreach arraylist

10
推荐指数
1
解决办法
335
查看次数

有效地从ArrayList获取子列表

我的问题


我有一个固定大小的ArrayList,其中包含自定义变量.尽管ArrayList具有固定的大小,但有时其中很多实际上都是null.问题是我需要返回没有null变量的ArrayList.需要注意的一件重要事情是: ArrayList首先包含所有非空项,然后是它们下面的所有空值,例如,元素不会混合.示例:[非null,非null,.... null,null,null]

我的解决方法


我创建了一个for循环,它检查(从最后到第一个索引)ArrayList中的每个元素,以确定它是否为null.如果为null,那么我将调用此代码:

for (i = size-1; i >=0 ; i--) {
    groupList = new ArrayList<>(groupList.subList(0, i));
}
Run Code Online (Sandbox Code Playgroud)

我的问题


如果ArrayList太大,这种方法可能会特别慢(或不是?).我想知道是否存在更好,更友好的解决方案.AFAIK .subList方法很昂贵.

java algorithm arraylist time-complexity

9
推荐指数
1
解决办法
3219
查看次数

LinkedList vs ArrayList在特定的android示例上

我从A班上返回一份清单.我想从列表中删除第一个元素,并将其作为最后一个元素添加到同一列表中.我是这样做的.

myList.add(myList.get(0));
myList.remove(0);
Run Code Online (Sandbox Code Playgroud)

目标硬件是Android OS.我应该A以一种它返回的方式编写我的类ArrayList,或者LinkedList?哪种情况对以下情况更好:

  1. myList总是有100个元素

  2. myList总是有10个元素

也许我看到一个没有问题的问题.你认为在这种情况下我不应该关心性能,因为问题的大小(对于1和2都很小)?

我知道"过早优化是万恶之源"的说法.这就是为什么我在改变我的实现之前犹豫不决(现在,我的A对象返回一个ArrayList).

java performance android linked-list arraylist

9
推荐指数
1
解决办法
3680
查看次数