c# list集合怎么获取它的数据?

c# list集合怎么获取它的数据?,第1张

先定义一个委托 (委托其实就是用一个名字代表一个函数)\x0d\public static bool getTV(TV tv) //TV是List中的对象 你懂得\x0d\{\x0d\ tvname != "";//取出 list中name不为“”的TV对象\x0d\return true;\x0d\}\x0d\ Predicate pre = getTV;\x0d\TV temp = listFind(pre); //应该是获取到找到的第一个对象\x0d\List = listFindAll(pre);//找到所有name 不为“”的对象

没有现成的java或jsp等的标签完成从java到js的代码转换,只能手动转。如下。
以下部分是伪代码(jsp有段时间没用了):
<jsp>
//这里假设list是中放的是String
String arrayStr = "[";
for(list){
array += list[i]+",";
}
arrayStr += "]";
</jsp>
<javascript>
var array = eval(<jsp>write(arrayStr);</jsp>);
</javascript>

把值放set里,然后再取出来放入list就不会重复,参考如下:
String [] arr = {"q","q","s","s","w","w"};
Map <String, List<String>> hm = new HashMap<String , List<String>>();
List <String>l = ArraysasList(arr);
for(Iterator <String>it = literator();ithasNext();){
String a = itnext();
List <String> temp = hmget(a);
if(temp == null){
temp = new ArrayList<String>();
hmput(a, temp);
}
tempadd(a);
}

首先来个不安全的,但是短的版本:

foreach (object obj in mainList)
{
    dynamic x = obj;
    foreach (var item in x)
    {
        ConsoleWrite(item);
    }
}

因为这些类型没有公共的接口(object不算),所以比较安全的方式是用if else处理了,用Type就够了。

foreach (object obj in mainList)
{
    Type objType = objGetType();
    if (objType == typeof(List<int>))
    {
        List<int> o = obj as List<int>;
        foreach (var i in o)
            ConsoleWrite(i);
    }
    else if (objType == typeof(List<string>))
    {
        List<string> o = obj as List<string>;
        foreach (var s in o)
            ConsoleWrite(s);
    }
    else if (objType == typeof(double[]))
    {
        double[] o = obj as double[];
        foreach (var d in o)
            ConsoleWrite(d);
    }
    else if (objType == typeof(Dictionary<string, int>))
    {
        Dictionary<string, int> o = obj as Dictionary<string, int>;
        foreach (var p in o)
            ConsoleWrite(p);
    }
}

一般是通过迭代期获取数据,因为set集合无序,所以输出不是顺序输出

import javautilHashSet;
import javautilIterator;
import javautilSet;
public class Test{
    public static void main(String[] args) {
        // 初始化set集合
        Set<String> set = new HashSet<>();
        setadd("1");
        setadd("2");
        setadd("3");
        // 获取set集合数据
        for (Iterator iterator = setiterator(); iteratorhasNext();) {
            String string = (String) iteratornext();
            Systemoutprintln(string);
        }
        
    }
}

用循环或者迭代器

创建set的iterator
Set<Object> set = new HashSet<Object>();
Iterator<Object> it = setiterator();
while(ithasNext())//判断是否有下一个
itnext()取出元素
======================================
import javautilHashSet;
import javautilIterator;
import javautilSet;
class ADD{
public String a;
public static void main(String[] args) {
ADD a = new ADD();
aa = "a";
ADD b = new ADD();
ba = "b";
Set<ADD> set = new HashSet<ADD>();
setadd(a);
setadd(b);
Iterator<ADD> it = setiterator();
while(ithasNext()){
Systemoutprintln(((ADD)itnext())a);
}
}
}

往集合类set里添加数据:

1、定义一个set对象

Set h=new HashSet();

2、往set中添加数据

hadd("1st");//往里添加一个字符串

Set是最简单的一种集合。集合中的对象不按特定的方式排序,并且没有重复对象。

Set接口主要实现了两个实现类:

HashSet: HashSet类按照哈希算法来存取集合中的对象,存取速度比较快。

TreeSet: TreeSet类实现了SortedSet接口,能够对集合中的对象进行排序。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/13412529.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-31
下一篇 2023-07-31

发表评论

登录后才能评论

评论列表(0条)

保存