MyMediaLite.DataType.SparseBooleanMatrix.GetEntriesByColumn C# (CSharp) Method

GetEntriesByColumn() public method

Takes O(N) worst-case time, where N is the number of rows, if the internal hash table can be queried in constant time.
public GetEntriesByColumn ( int column_id ) : IList
column_id int
return IList
        public IList<int> GetEntriesByColumn(int column_id)
        {
            var list = new List<int>();

            for (int row_id = 0; row_id < NumberOfRows; row_id++)
                if (row_list[row_id].Contains(column_id))
                    list.Add(row_id);
            return list;
        }

Usage Example

		[Test()] public void TestGetEntriesByColumn()
		{
			var matrix = new SparseBooleanMatrix();
			for (int i = 0; i < 5; i++)
				if (i != 2 && i !=3)
				{
					matrix[i, 1] = true;
					matrix[i, 4] = true;
				}

			Assert.AreEqual(0, matrix.GetEntriesByColumn(0).Count);
			Assert.AreEqual(3, matrix.GetEntriesByColumn(1).Count);
			Assert.AreEqual(0, matrix.GetEntriesByColumn(2).Count);
			Assert.AreEqual(0, matrix.GetEntriesByColumn(3).Count);
			Assert.AreEqual(3, matrix.GetEntriesByColumn(4).Count);
		}